【问题标题】:c# button click input value return emptyc#按钮点击输入值返回空
【发布时间】:2021-12-29 15:04:35
【问题描述】:

我试图从代码中的输入中获取价值,问题是当我使用母版页时值总是返回空“”,但没有母版页它工作正常

html

<asp:UpdatePanel ID="UpdatePanel3" runat="server">
    <ContentTemplate>
        <form action="#" method="post" >
            <input type="text" class="form-control" runat="server" id="email" placeholder="email"  />
        </form>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="btnRegister" />
    </Triggers>
</asp:UpdatePanel>

后面的代码

protected void btnRegister_Click(object sender, EventArgs e)
{
    string email = email.Value; //retun empty " "
}

【问题讨论】:

  • 这个问题不详细。您必须添加更多细节。按钮寄存器在哪里?你在哪里称呼他们。这是一个mvc项目吗?你用的是哪个版本?
  • asp.net 网页应用
  • 你会编辑你的帖子吗?
  • 我希望这有帮助
  • UpdatePanel 表示 Web 表单。在 Web 表单中,您不能在标记中拥有自己的 html 表单元素。页面的主要表单元素就是这样。

标签: c# html asp.net


【解决方案1】:

你必须使用

<div>
   <form action="#" method="post" >
      
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
  <asp:UpdatePanel ID="UpdatePanel3" runat="server">
 ...
 <asp:TextBox ID="txtEmail" runat="server" CssClass="form-control"</asp:TextBox>
....
    </form>

并获得价值

var email = txtEmail.Text;

【讨论】:

  • 我已经在母版页中有 ScriptManager
  • @DarwieshMustafa 好的,那就不要再说了
  • 是的,当然,我无法理解我使用 VS2015 并且此代码之前在我制作的旧应用程序中工作
  • @DarwieshMustafa 你用的是2005版,不知道你是不是那个时候出生的
  • Visual Studio 2015
【解决方案2】:

我刚刚删除了其他

 <form action="#" method="post" > 

来自 MasterPage 并且现在可以正常工作

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 2014-11-08
    • 2016-07-15
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    相关资源
    最近更新 更多