我正在网页代码隐藏中的按钮点击事件上阅读asp.net TextBox的内容。
如果我在框中输入内容,我可以通过TextBox.Text阅读其中的内容,这样可以正常工作。
但是,如果我使用jquery复制到输入文本框中,使用val()设置内容,我可以看到文本出现在框中但是当click事件触发时我尝试读取文本框的内容它是总是空白。如果我自己输入它,那里只有任何东西。
代码的相关部分是: - 输入框
<asp:TextBox runat="server" ID="deliveryAddress3" CssClass="required radius disabled sugestedAddressTargetCity bcity2" />
的Javascript
var bfields = ['.baddress', '.bcity', '.bcountry', '.bpostcode'];
var dfields = ['.baddress2', '.bcity2', '.bcountry2', '.bpostcode2'];
for (var i in dfields) {
$(dfields[i]).prev('label').hide();
$(dfields[i]).val($(bfields[i]).val());
$(dfields[i]).attr('disabled', 'disabled');
$(dfields[i]).addClass('disabled');
$(dfields[i]).attr('disabled', 'disabled');
代码隐藏的按钮点击方法中的代码: -
customer.DelTown = deliveryAddress3.Text;
这里发生的是客户可以将他们的地址从一组盒子复制到另一组盒子。如果他们这样做(通过单击按钮),ext会显示在框中,但后面的代码是空白的。但是,如果我在这些框中键入内容,则可以在后面的代码中找到它。
答案 0 :(得分:2)
我启动了一个新的ASP.net应用程序,如果您使用jQuery value
设置文本框的attr()
属性,它就可以正常运行。
脚本更新文本框内的值,后面的代码也可以读取它。
Designer HTML(将以下内容添加到default.aspx):
<asp:TextBox runat="server" ID="MytextBox"></asp:TextBox>
<asp:Button runat="server" ID="MyButton" Text="Click Me"/>
呈现HTML输出:
<input name="ctl00$MainContent$MytextBox" type="text" value="NewValue" id="MainContent_MytextBox">
<input type="submit" name="ctl00$MainContent$MyButton" value="Click Me" id="MainContent_MyButton">
脚本:
$("#MainContent_MytextBox").attr("value", "NewValue");
default.aspx.cs后面的代码:
protected void Page_Load(object sender, EventArgs e)
{
// Place Debugger here:
if (MytextBox.Text == "NewValue")
{
// hurray
}
}