2012-01-19 123 views
0

我有这样的代码重复我的网页多次ASP.NET MVC控制

<div> 
    <span>text</span><br /> 
    <span>text1</span><select></select><span>text2</span> 
    <input/>     
</div> 

我不想每次 我怎么可以框它MVC和参数传递给它来写?

+0

是否使用网站上的母版页? – Niklas

回答

3

您可以创建一个HTML帮助该函数返回一个HTML

类似下面:

using System; 
namespace MvcApplication1.Helpers 
{ 
      public class LabelHelper 

      { 
       public static string Label(string target, string text) 
       { 
        return String.Format("<label for='{0}'>{1}</label>", target, text); 
       } 
      } 
} 
+0

另外...从视图中,您必须编写@ Html.Raw(LabelHelper.Label(“df”,“dff”))来理解HTML之类的代码。 –

+0

如果你使用Mvc 3当然。 –

2

您可以创建局部视图,有一个视图模型具有所有那些你是显示信息。无论您想要使用此内容,请使用ViewModel调用部分视图。

@model MyBoxContent 
<div> 
    <span>@Model.Text1</span><br /> 
    <span>@Model.Text1</span><select></select><span>@Model.Text2</span> 
    <input/>     
</div> 

,并有所谓的“MyBoxContent”

public class MyBoxContent 
{ 
     public string Text1{ set; get; } 
     public string Text2{ set; get; } 
} 

有这个视图模型作为您其他的ViewModel的从那里你想显示并调用与局部视图属性视图模型。

@Html.Partial("BoxData", Model.MyBoxContent); 
1

因此,您可以使用partialView并将其渲染。

@Html.Partial("SomePartialView", DataYouPlanOnPassingIn) 

也不要忘记把你的模型在局部视图的顶部,这样你就可以开始使用它:

@model System.String