1

我正在网页代码隐藏中的按钮单击事件上阅读 asp.net TextBox 的内容。

如果我在框中输入一些内容,我可以通过 TextBox.Text 阅读其中的内容,这很好用。

但是,如果我使用 jquery 复制到输入文本框中,使用 val() 设置内容,我可以看到文本出现在框中,但是当点击事件触发并且我尝试读取文本框的内容时,它总是空白。如果我自己输入,里面只有所有的东西。

相关的代码位是: - 输入框

<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;

这里发生的事情是客户可以将他们的地址从一组盒子复制到另一组盒子。如果他们这样做(通过单击按钮),则分机会显示在框中,但后面的代码是空白的。但是,如果我在这些框中输入一些内容,则可以在后面的代码中找到它。

4

1 回答 1

2

我启动了一个新的 ASP.net 应用程序,如果您value使用 jQuery 设置文本框的属性,它就可以工作attr()

该脚本会更新文本框中的值,并且后面的代码也可以读取它。

设计器 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
    }
}
于 2013-01-30T12:21:33.003 回答