Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本框在填充javascript后为空_C#_Javascript_Asp.net - Fatal编程技术网

C# 文本框在填充javascript后为空

C# 文本框在填充javascript后为空,c#,javascript,asp.net,C#,Javascript,Asp.net,我使用以下代码创建文本框: <div style="clear:left;"> <asp:TextBox TextMode="MultiLine" runat="server" ID="selectText" ReadOnly="true" Width="560px" Height="50px"></asp:TextBox> </div> elSelText.value = elSelText.value.substr(0, positi

我使用以下代码创建文本框:

<div style="clear:left;">
    <asp:TextBox TextMode="MultiLine" runat="server" ID="selectText" ReadOnly="true" Width="560px" Height="50px"></asp:TextBox>
</div>
elSelText.value = elSelText.value.substr(0, position) + chosenoption2.value + " ";
然后我尝试将文本框中的值发送到服务器,但它是空的

protected void btnUseSelectClick(object sender, EventArgs e)
    {
        sourceDetails.SelectCommand += " and " + selectText.Text;
        Session["FilterSelectCommand"] = sourceDetails.SelectCommand;
        tableResults.DataBind();
    }
根据建议,我添加了AutoPostBack=“true”:



但是它没有帮助

可能是视图状态的问题。尝试在页面加载事件中添加对
Page.IsPostBack
的检查,如下所示:

If(!Page.IsPostBack)
{
//第一次调用的数据绑定
}

我认为这是由于只读:ASP.Net注册了哪些控件在发送页面时是只读的

这些控件的值在回传时被丢弃,并且是regotten(我相信来自ViewState)


解决方法不是在aspx页面上设置
readonly=“true”
,而是使用
$(document.ready)(您的函数_here())
(如果您使用jQuery)或主体
onLoad
事件来设置它。

虽然这对我来说是个新闻,
ReadOnly
属性似乎没有跟踪来自客户端的更改。如果您想要“只读”功能,但仍然在服务器上获取值,请在
页面加载
方法中输入以下内容:

selectText.Attributes.Add("readonly", "readonly");

删除
中的
ReadOnly
(和
AutoPostBack
)属性,并且-这在Google中是一个相当快的发现)

只是一个猜测,但是删除
ReadOnly=“true”
会有区别吗?文本框的值是空的,因为服务器不知道它已经更改了。需要以某种方式通知服务器。通常,这是通过完整或部分回发来完成的。@Doc我认为这就是
受保护的void btnUseSelectClick(){}
的含义for@DStanley我认为不会。如果禁用了
该值,则不会提交该值,但
readonly
不应产生任何影响。我可能错了though@DStanley,你的建议帮助了我,但如果保持文本框只读很重要呢?
selectText.Attributes.Add("readonly", "readonly");