我想在使用MVC2和C#的ASP中制作一个非常简单的表单。我有两个元素和一个提交按钮,并且我使用VS2010中的设计器创建了表单。ASP.NET MVC2表单元素名称
查看:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Create
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<form id="create_event" runat="server">
<h2>Create</h2>
<p>Event ID:
<asp:TextBox ID="txtEventID" runat="server"></asp:TextBox>
</p>
<p>Event Description:
<asp:TextBox ID="txtEventDescription" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button ID="submit" runat="server" Text="Add Event" />
</p>
</form>
</asp:Content>
我在现在,当我尝试访问我的控制器中的表单元素的问题,我得到使用的FormCollection对象奇怪的键名。
控制器:
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
foreach (var key in collection)
{
var ks = key.ToString();
var value = collection[key.ToString()];
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
两个控件的name属性用于密钥,这被设置在运行时ctl00 $ $搜索Maincontent和txtEventDescription $ ctl00 $搜索Maincontent txtEventID。有什么方法可以通过我在设计时设置的ID来引用这些项目?我尝试添加一个名称属性与id相同的值,但没有奏效。
谢谢!