【问题标题】:HTML form with a C# action, Visual Studio 2015带有 C# 操作的 HTML 表单,Visual Studio 2015
【发布时间】:2016-07-29 19:01:10
【问题描述】:

这是我正在使用的表单,它也位于 form1.aspx:

<form class="col s12" method="post" id="form1" runat="server">
<asp:textbox id="num1" type="text" class="validate" runat="server"></asp:textbox>
<button id="generate" type="submit" name="action" onclick="generate_click">
</form>

然后 Visual Studio 有一个 form1.aspx.cs 存储了一些代码,所以我也将它存储在那里:

    protected bool generate_click(object sender, EventArgs e)
    {
        bool valid = true;

        if (num1.Text.ToString() == "1")
        {
            MessageBox.Show("Hello");
            valid = false;
        }
        return valid;
    }

当我构建项目并运行时,当我按下按钮时,它只会刷新页面,我想做的是在用户用“1”填充文本框时提醒用户

【问题讨论】:

  • 您不能在 Web 项目中使用 MessageBox。你可以使用javascript来实现你想要的。
  • 你只是想显示一个消息框,还是想做一些实际需要c#的事情?
  • 你可以在文本框旁边使用一个标签并在那里发布消息。
  • 一个 html 按钮不会这样工作。应该类似于
  • @SamIam 我想这是一个不好的例子,但将来我会这样做。此示例适用于当用户输入“1”但将来我计划使用其他人制作的 .dll 填充另一个文本字段时,因此如果用户输入“1”,则后面会出现一些“随机” .dll 指示的整数。

标签: c# html asp.net visual-studio-2015 webforms


【解决方案1】:

您的按钮只是刷新页面的原因是因为它正在执行客户端 submit,而不是运行 c# 服务器端代码隐藏。如果您希望按钮运行服务器端代码,则应将runat="server" 添加到&lt;button&gt;。此外,如果您采用这种方法,您可能应该改用&lt;asp:Button&gt;

但是,我怀疑您真正想要通过单击执行的操作是显示一个消息框。您将无法在 C# 中执行此操作,因为消息框将位于客户端,而 C# 运行服务器端。


简单的解决方案:使用&lt;asp:Button onclientclick&gt;

有关更多信息,请阅读此处: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick(v=vs.110).aspx

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2016-12-06
    相关资源
    最近更新 更多