【发布时间】:2014-12-29 20:42:05
【问题描述】:
我是 ASP.NET 和 C# 的新手,我正在尝试创建一个论坛。 我的 .aspx 文件和 HTML 按钮上有一个 HTML 选择,在 .aspx.cs 文件中,我想在按下按钮时获取该 HTML 选择值,但它总是给我“默认”值,而不是那个实际选择。
这是在我的 .aspx 文件中:
<select id="sortBySelect" runat="server">
<option value="default">Default</option>
<option value="username">Username</option>
<option value="date">Data</option>
</select>
<button id="sortByButton" runat="server" onserverclick="sortBy">Sort</button>
在我的 .aspx.cs 文件中,我有这个:
public void sortBy(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine(sortBySelect.Value);
}
我也不能使用 asp dropdownlist/asp 按钮,因为它说它必须保留在带有“runat="server"”的表单标签内,但我的 .aspx 文件上已经有一个表单标签,如果我添加另一个它说我不能有 2 个带有 "runat="server"" 的表单标签。
如何获取该 HTML 选择的实际选择值?
【问题讨论】:
-
使用
-
嗨,亚历山德鲁。如果您是 asp.net 和 c# 的新手,尤其是如果您有任何其他 Web 编程经验,我会强烈建议您使用 asp.net mvc 框架而不是您正在使用的 webforms 框架. Mvc 具有更简单的概念,这些概念对 Web 格式更自然,并且通常提供更高质量的建议。网络表单有时很有用,但我永远不会将它用于这样的事情,也永远不会向初学者推荐它。
-
@Igor Semin 我试图将我的 HTML 选择放在一个表单标签中,但是使用 method="get" 我的函数 "sortBy" 没有被调用并且有/没有 method="post" 它改变了我的应用程序使用的 URL,因此页面呈现失败。
-
@George Mauer,我曾使用 PHP 和 Symfony2/Zend 框架,它们都是 MVC,但这是一个大学项目,我们必须使用 Web 表单。
-
@AlexandruAndrei 您不应该在 ASP.Net Web 表单中操作表单标签。