C# 局部视图中的表单元素和逻辑
我的网站上有很多表格,所有的表格都有很大的不同。然而,将有一个由所有人共享的元素——几个文本框和一条验证消息,具体取决于输入 我正在使用asp.net MVC3,为了代码重用,我想将这个共享元素放在一个局部视图中,该视图将包含在每个表单中。该局部视图必须执行逻辑以检查输入并相应地显示验证消息C# 局部视图中的表单元素和逻辑,c#,asp.net,asp.net-mvc,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我的网站上有很多表格,所有的表格都有很大的不同。然而,将有一个由所有人共享的元素——几个文本框和一条验证消息,具体取决于输入 我正在使用asp.net MVC3,为了代码重用,我想将这个共享元素放在一个局部视图中,该视图将包含在每个表单中。该局部视图必须执行逻辑以检查输入并相应地显示验证消息 有人对我如何做到这一点有什么建议吗?提前感谢。为您的常用视图创建一个视图模型 public class CommonViewModel { public bool IsValid {get;set;
有人对我如何做到这一点有什么建议吗?提前感谢。为您的常用视图创建一个视图模型
public class CommonViewModel
{
public bool IsValid {get;set;}
public string Message {get;set;}
}
现在我们来看看其他的ViewModel
public class MyOtherViewModel
{
public CommonViewModel CommonViewModel {get;set;}
//Other Properties here
}
现在,通过MyOtherView.cshtml,您可以轻松地呈现局部视图,并从主视图传递值
@model MyOtherViewModel
@Html.Partial("commonView",Model.CommonViewModel)
我希望这能帮助你开始
干杯我正在写一个粗略的代码,请相应地更正。 使用水平视图并编写如下代码 @Html.BeginForm('actionname',controller)
{
@Html.TextBox('abc')
}
然后在控制器中创建一个方法,如
[发布]
Public ActionResult ActionName()
{
}
将此partialview放入任何一个页面。我不会使用partialview,我宁愿使用EditorTemplate/DisplayTemplate作为子视图类。+1:我同意使用嵌套模型,但我认为最好定义自定义EditorTemplate/DisplayTemplate来代替partialview。谢谢大家,但是EditorTemplate在这种情况下会有什么不同呢?表面上看,EditorTemplates可能看起来就像局部视图,但这只是表面上的,从语义上讲,模板功能强大,可以被框架使用(例如,您只需放置一个@EditorFor(Model))并将所有工作留给模板。和往常一样,它取决于特定的场景(比如其中99.99%的内容)