我有一个asp:textbox和一个提交该文本框的asp:按钮。然后我有javascript代码创建一个包含textarea和输入[type = button]的div。
我希望能够使用asp:button事件提交这些创建的textarea文本。因此,当用户在div创建的textarea之一中输入文本并单击div input:按钮时,我想将textarea文本复制到asp:textbox,然后通过javascript调用asp:button单击事件。我想以某种方式将div输入:id的id传递给asp:textbox的click事件。
如何通过javascript将变量传递给asp:按钮的OnClick事件。
我曾想过使用隐藏的asp:标签来存储id,但似乎应该有更好的方法。
答案 0 :(得分:0)
为什么必须将数据复制到服务器端控件?您始终可以在服务器端获取当前的HttpRequest(HttpContext.Current.Request
),并且您将获得所有表单数据。
答案 1 :(得分:0)
你可以试试这个:
<asp:ScriptManager ID="scm" runat="server" />
<div>
<div id="clickme" style="width: 100px; height: 50px; background-color: #CCC"
onclick="__doPostBack('ctl00$MainContent$Button1', '');" />
</div>
<input type="text" name="textbox" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
protected void Button1_Click(object sender, EventArgs e)
{
string text = Page.Request.Params["textbox"];
}
请注意button-id的硬编码名称。
__ doPostBack将触发回发并调用Button1_Click方法。
您无需将文本复制到asp:TextBox,因为您可以从Page.Request.Params获取输入字段的内容。
修改:在您的网页中使用javascript时,不要忘记嵌入ScriptManager。