views:

30

answers:

2

I have an asp:textbox and an asp:button that submits that textbox. I then have javascript code that creates a div that contains a textarea and an input[type=button].

I want to be able to submit these created textarea's text using the asp:button event. So when a user enters text within one of the div created textarea's and clicks the div input:button, I want to copy the textarea text to the asp:textbox and then call the asp:button click event through javascript. I'd like to somehow pass the id of the div input:button into the click event of the asp:textbox.

How do I pass a variable to the OnClick event of an asp:button through javascript.

I've thought of using a hidden asp:label to store the id, but it seems like there should be a better way.

A: 

Why do you have to copy the data into server side controls? You can always get the current HttpRequest (HttpContext.Current.Request) on the server side and you will have all the form data.

tster
A: 

You could try this:

<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"];
}

Note the hardcoded name of the button-id.

__doPostBack will fire a postback and the Button1_Click method gets called.

You don't need to copy the text to a asp:TextBox because you can get the content of the input field from Page.Request.Params.

Edit: Don't forget to embed a ScriptManager when using javascript in your page.

weberph