C# 如何从aspx切换到cshtml
在我以前的应用程序中,我使用Default.aspx作为ui路由器的布局页面。页面底部是:C# 如何从aspx切换到cshtml,c#,jquery,angularjs,asp.net-mvc,razor,C#,Jquery,Angularjs,Asp.net Mvc,Razor,在我以前的应用程序中,我使用Default.aspx作为ui路由器的布局页面。页面底部是: <form runat="server" style="visibility: collapse"> <asp:HiddenField ID="mkt" runat="server" /> <asp:HiddenField ID="id" runat="server" /> </form> 两者都是在模式启动时从映射应用程序传递的字符串值
<form runat="server" style="visibility: collapse">
<asp:HiddenField ID="mkt" runat="server" />
<asp:HiddenField ID="id" runat="server" />
</form>
两者都是在模式启动时从映射应用程序传递的字符串值。我已经做了搜索,这似乎是一个常见的问题。这就是我正在努力实现的目标
Index.cshtml
@model SubjectProperty.Web.Controllers.MKT
@Html.HiddenFor(x => x.mkt, new { htmlAttributes = new { @id = "mkt" } })
@Html.HiddenFor(x => x.id, new { htmlAttributes = new { @id = "id" } })
在我的家庭控制器
public class MKT
{
public string mkt { get; set; }
public string id { get; set; }
}
public class HomeController : Controller
{
public ActionResult Index(MKT m)
{
if (m == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var model = new MKT();
model.id = m.id;
model.mkt = m.mkt;
return View(model);
}
}
现在当我手动插入
本地主机:1323/?MKT=wet&Id=dd23e460-e319-47c9-b9c4-rr5r6798e56t
它拿起它,开始工作。我需要在这里做什么
更新,意识到razor hiddenFor没有从控制器获取值。这是一个截图。
尝试将隐藏的表单字段包装到表单中:
using(Html.BeginForm()
{
@Html.HiddenFor(x => x.mkt, new { htmlAttributes = new { @id = "mkt" } })
@Html.HiddenFor(x => x.id, new { htmlAttributes = new { @id = "id" } })
}
并使用[HttpPost]属性标记您的方法:
[HttpPost]
public ActionResult Index(MKT model)
{
}
如果您想使用更高级的方案,请考虑自定义模型绑定。
将HydeNodes封装在某种形式(HTML、Ajax……)中,并在您的Controller方法的签名中获得表单元素集合:<代码>公共活动结果索引(FuffCytoSy收藏)
并在方法前面加上
[AcceptVerbs(HttpVerbs.Post)]
在首次启动应用程序时,您如何调用操作。我使用的是默认的asp.net mvc应用程序。您试图解决的问题到底是什么?您收到的特定URL是否有错误消息?没有错误消息。索引操作中的模型为空。当我在浏览器导航中手动插入字符串时,模型会带有值。可能我仍然缺少一些东西,但我仍然看不到问题所在。如果您只是使用URL localhost:1323/,那么您希望模型值来自何处?Post属性会导致它不加载任何内容。在表单中包装它和不包装它做的事情是一样的。您能否再多展示一下如何使用FormCollection@texas697然后使用表单元素的Id(从视图中)访问集合:DateTime.TryParse(_collection[“txtxtime”],out newTime);或者如果(_collection[“txtTag”].IndexOf(“”<0)
[HttpPost]
public ActionResult Index(MKT model)
{
}