C#从.aspx中的输入文本中设置并获取值

C#从.aspx中的输入文本中设置并获取值,c#,asp.net,C#,Asp.net,我认为我的问题很简单,但我找不到解决办法: 我的问题: 如果将字段设置为C#,则在浏览器中对其进行修改,该值仍将保持不变 范例 <input type="text" id="IdText" runat="server" /> 在浏览器中修改它,插入“MyExample”,然后单击按钮更新数据库 如果我用c来求这个值,它还是一样的 string text = IdText.Value; 这里的值是“Example”,而不是“MyExample” 我需要添加更多的代码吗 谢谢您的帮助

我认为我的问题很简单,但我找不到解决办法:

我的问题: 如果将字段设置为C#,则在浏览器中对其进行修改,该值仍将保持不变

范例

<input type="text" id="IdText" runat="server" />
在浏览器中修改它,插入“MyExample”,然后单击按钮更新数据库 如果我用c来求这个值,它还是一样的

string text = IdText.Value;
这里的值是“Example”,而不是“MyExample”

我需要添加更多的代码吗


谢谢您的帮助。

正如Damien在评论中提到的,您应该将
文本
-属性设置为
中DB的值的代码块包装起来!IsPostBack
-检查。否则,您将使用旧的from DB覆盖更改的值,因为在按钮单击事件处理程序之前执行
Page\u Load

例如:

protected void Page_Load(OBject sender, EventArgs e)
{
    if(!IsPostBack)
    {
        IdText.Value = "Example";
    }
}
如果我使用
ASP.NET
,我也会使用
ASP.NET
-控件,这样就可以使用
文本框而不是html输入。

非常感谢。 我知道解决办法很简单

当我使用bootstrap时,我认为很难将bootstrap和asp.net控件结合起来。 但是你是对的,我可以用
代替

谢谢
Mike

是否有任何理由不使用ASP.NET控件,如
TextBox
?请在(!Page.IsPostback){//your code}块中包装页面加载代码以避免此情况。
protected void Page_Load(OBject sender, EventArgs e)
{
    if(!IsPostBack)
    {
        IdText.Value = "Example";
    }
}