C# 如何通过div的innerhtml从Dynamicly生成的html按钮访问服务器端方法
我想从一个html按钮访问一个c方法,该按钮是由div的innerhtml动态生成的 代码 }C# 如何通过div的innerhtml从Dynamicly生成的html按钮访问服务器端方法,c#,asp.net,C#,Asp.net,我想从一个html按钮访问一个c方法,该按钮是由div的innerhtml动态生成的 代码 } 我想从html按钮访问getdata方法..help.plz我想这样添加一个按钮 System.Web.UI.WebControls.Button btnSubmit = new System.Web.UI.WebControls.Button(); btnSubmit.ID = "btnSubmit"; btnSubmit.Text = "Click Here"; btnSubmit.Click +
我想从html按钮访问getdata方法..help.plz我想这样添加一个按钮
System.Web.UI.WebControls.Button btnSubmit = new System.Web.UI.WebControls.Button();
btnSubmit.ID = "btnSubmit";
btnSubmit.Text = "Click Here";
btnSubmit.Click += getdata(); //wire up event
//assuming, TextPreview is a Panel or someting
TextPreview.Controls.Add(btnSubmit);
方法:
protected void getdata(object sender, System.EventArgs e)
{
Response.Write("clicked.");
}
如果不在服务器上注册服务器端函数,我们不能直接从客户端调用服务器端函数,请参阅下面的@fubo answer,如果可以的话,这是一种安全威胁。任何人都可以通过向网页添加原始html从浏览器调用任何函数,就像您的案例一样 但是,我们可以进行回发,在页面加载中,我们可以验证输入按钮以调用所需的方法
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
testdiv.InnerHtml = @"<input type=""button"" id=""btnSubmit"" value = ""Click Here"" runat = ""server"" onclick=""__doPostBack('btnSubmit','')""/> ";
}
else
{
var eventTarget = Request.Form["__EVENTTARGET"].ToString();
if (eventTarget == "btnSubmit")
{
getdata();
}
}
}
public string getdata() {
Response.Write("clicked.");
}
错误是什么,您是否正确使用getdata名称?错误是,如果我单击该按钮..什么都不会发生..如果我直接使用html按钮并在ServerClick='getdata'上写入,它会工作..但是如果我通过divid.innerhtml生成一个按钮..那时候它不工作。不,兄弟。我的问题是,我想从动态生成的html按钮调用一个c方法。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
testdiv.InnerHtml = @"<input type=""button"" id=""btnSubmit"" value = ""Click Here"" runat = ""server"" onclick=""__doPostBack('btnSubmit','')""/> ";
}
else
{
var eventTarget = Request.Form["__EVENTTARGET"].ToString();
if (eventTarget == "btnSubmit")
{
getdata();
}
}
}
public string getdata() {
Response.Write("clicked.");
}