通过Javascript触发asp:按钮

时间:2010-08-27 03:34:38

标签: c# event-handling

我有一个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,但似乎应该有更好的方法。

2 个答案:

答案 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