如何使用提交表单将部分视图设置为MVC 5中的所有主视图?

问题描述 投票:0回答:1

注意:我的完整下面的代码正在运行。

我想添加我的部分视图(qazxsw poi),以显示我的所有视图(qazxsw poi,qazxsw poi,_Login.cshtml等)。

我的问题是,我怎样才能实现它?因为,我的局部视图(about.cshtml)有一个带有模型名称的标题标签(此模型属于contact.cshtml),如下所示

product.cshtml

所以,如果我需要将这个局部视图添加到另一个主视图(_Login.cshtmlIndex.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等等。)

asp.net asp.net-mvc model-view-controller asp.net-mvc-5 partial-views
1个回答
0
投票

您可以更改模型结构,以便更轻松地实现。假设您有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而不是所有特定视图。

© www.soinside.com 2019 - 2024. All rights reserved.