注意:我的完整下面的代码正在运行。
我想添加我的部分视图(qazxsw poi),以显示我的所有视图(qazxsw poi,qazxsw poi,
_Login.cshtml
等)。我的问题是,我怎样才能实现它?因为,我的局部视图(
about.cshtml
)有一个带有模型名称的标题标签(此模型属于contact.cshtml
),如下所示
product.cshtml
所以,如果我需要将这个局部视图添加到另一个主视图(
_Login.cshtml
,Index.cshtml
,@using TestProject.Models @model ViewSignInAndSignUp // this model refers only Index.cshtml
等等),我的标题@model
标记将是什么?
我有一个名为about.cshtml
的视图(部分视图)现在它与contact.cshtml
(主视图)链接
_Login.cshtml(部分视图)
product.cshtml
模型
_Login.cshtml
Index.cshtml(主视图)
Index.cshtml
HomeController的
@using TestProject.Models
@model ViewSignInAndSignUp
@using (Html.BeginForm("ControllerSignIn", "Home"))
{
@Html.TextBoxFor(si => si.getSignin.userName, new { @class = "form-control", @id = "txtLogin" })
@Html.TextBoxFor(si => si.getSignin.password, new { @class = "form-control", @id = "txtPassword", @type = "password" })
<input type="submit" class="btn btn-sm btn-primary btn-rounded" value="Login" id="btnLoginSubmit" />
}
那么如何将我的局部视图添加到我的所有其他视图中(qazxsw poi,qazxsw poi,qazxsw poi等等。)
您可以更改模型结构,以便更轻松地实现。假设您有ModelBase,ModelIndex,ModelContact等扩展。 ModelBase还具有ViewSignInAndSignUp作为属性。这样,如果将类扩展为ModelBase,则可以在任何位置添加局部视图。如果你将它放在MasterLayout中,如果所有页面都包含它,那会更好。
public class ViewSignInAndSignUp
{
public SignIn getSignin { get; set; }
public ModelIndex ModelIndex{ get; set; }
}
然后,在您的视图中,您可以使用:
@using TestProject.Models
@model ViewSignInAndSignUp
@using (Html.BeginForm("ControllerSignIn", "Home"))
{
@Html.TextBoxFor(si => si.ModelIndex.Par1, new { @class = "form-control", @id = "txtPar1" })
@Html.TextBoxFor(si => si.ModelIndex.Par1, new { @class = "form-control", @id = "txtPar1" })
<input type="submit" class="btn btn-sm btn-primary btn-rounded" value="Submit" id="btnModelIndex" />
}
@Html.Partial("_Login") //partialview
更好的做法是在MasterLayout中使用此@Html.Partial而不是所有特定视图。