Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MVC将一个局部视图替换为另一个局部视图_C#_Ajax_Asp.net Mvc_Partial Views - Fatal编程技术网

C#MVC将一个局部视图替换为另一个局部视图

C#MVC将一个局部视图替换为另一个局部视图,c#,ajax,asp.net-mvc,partial-views,C#,Ajax,Asp.net Mvc,Partial Views,我正在使用MVC构建一个网站,我希望它在导航栏的顶部有一个小盒子,用户可以登录到他的帐户。头部导航栏是一个布局页面,与我拥有的所有视图共享,登录的部分视图在布局中呈现 这是具有局部视图放置的布局: <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> @Html.ActionLin

我正在使用MVC构建一个网站,我希望它在导航栏的顶部有一个小盒子,用户可以登录到他的帐户。头部导航栏是一个布局页面,与我拥有的所有视图共享,登录的部分视图在布局中呈现

这是具有局部视图放置的布局:

<nav class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
            @Html.ActionLink("חנות השיגועים של האחים וויזלי", "Master", "Home", new { area = "" }, new { @class = "navbar-brand" })
        </div>
        <ul class="nav navbar-nav">
            <li>@Html.ActionLink("בית", "Master", "Home")</li>
            <li>@Html.ActionLink("אודות", "About", "Home")</li>
            <li>@Html.ActionLink("צור קשר", "Contact", "Home")</li>
            <li>@Html.ActionLink("סל קניות", "Cart", "Home")</li>
            <li>@Html.ActionLink("פרופיל", "UserProfile", "Home")</li>
            <li>@Html.ActionLink("הרשמה", "Register", "Account")</li>

        </ul>
        @*<ul class="nav navbar-nav navbar-right">
            <li>*@

                <div id="PartialPlace">
                    @Html.Partial("_LoginPartial")
                </div>
            @*</li>

        </ul>*@
    </div>
</nav>

<div class="container body-content">
    @RenderBody()

    <img src="~/Assets/Site_Background.jpg" alt="Weasly Shop" id="BkgImage" class="bg"/>

    <hr />
    <footer>
        <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
    </footer>
</div>

我想做的是,当用户按下版面中登录部分中的登录按钮时,只有部分视图将刷新,并向用户显示此部分视图,用户可以在其中发布广告:

<div class="container">
<div class="jumbotron" id="LoginFloat">
    <h5>Hello @Model.UserName</h5>

    <button class="btn btn-warning" onclick="">Advertise!</button>
    <br />
    <input type="submit" name="LogOff" value="LogOff" />LogOff
</div>

你好@Model.UserName
做广告

注销


我尝试使用Ajax.Actionlink和替换动作,但我不知道如何使用它。我应该在布局页面或登录partialView或where中使用它吗?

这似乎是一个非常弱的身份验证IMHO…现在,不是
返回partialView(“_LogedInPartial”)
您需要返回另一个部分视图……同样在您的ajax操作链接中,您应该使用
UpdateTargetId=“PartialPlace”
来更改它。是的,身份验证现在不困扰我。在控制器中,我应该返回另一个局部视图:_LoginPartialView?另外,Ajax.ActionLink应该在_LoginPartialView中,这将替换布局页面中的partialView?好的,
\u LoginPartial
呈现登录表单…现在可以发布另一个视图的名称了吗?最后一个代码部分是我要替换第一个的另一个partialView的代码。我称之为:_logedinparticle,您只需要
返回PartialView(“_logedinparticle”)
形成你的控制器方法,并在你的
AjaxOptions
中放置
UpdateTargetId=“PartialPlace”
,它应该呈现为将登录表单替换为广告视图。这似乎是一个相当弱的身份验证IMHO…现在,它不是
返回PartialView(“\u LogedInPartial”)
您需要返回另一个部分视图……同样在您的ajax操作链接中,您应该使用
UpdateTargetId=“PartialPlace”
来更改它。是的,身份验证现在不困扰我。在控制器中,我应该返回另一个局部视图:_LoginPartialView?另外,Ajax.ActionLink应该在_LoginPartialView中,这将替换布局页面中的partialView?好的,
\u LoginPartial
呈现登录表单…现在可以发布另一个视图的名称了吗?最后一个代码部分是我要替换第一个的另一个partialView的代码。我称之为:_logedinparticle,您只需要
返回PartialView(“_logedinparticle”)
形成您的控制器方法,并在
AjaxOptions
中放置
UpdateTargetId=“PartialPlace”
,该属性应呈现为将登录表单替换为广告视图。
[HttpPost]
    public ActionResult Login(string UserName, string Password)
    {

        using (AspStoreDBEntities1 db = new AspStoreDBEntities1())
        {
            if (ModelState.IsValid)
            {
                foreach (var user in db.Users)
                {
                    if (user.UserName == UserName && user.Password == Password)
                    {
                        FormsAuthentication.SetAuthCookie(UserName, true);
                        return PartialView("_LogedInPartial");
                    }
                }

            }
            return View();
        }
    }
<div class="container">
<div class="jumbotron" id="LoginFloat">
    <h5>Hello @Model.UserName</h5>

    <button class="btn btn-warning" onclick="">Advertise!</button>
    <br />
    <input type="submit" name="LogOff" value="LogOff" />LogOff
</div>