2011-12-22 68 views
1

如何在我的asp.net mvc 2.0項目中插入登錄視圖到每個頁面? 我已經「盜用」了這個控制器,並且從MS visual studio 2010的非空項目中查看了視圖。我如何在每個視圖中插入登錄表單? 我需要在php:include中使用這樣的東西。什麼是在asp.net mvc? ASCX ??? 這裏是main.master:如何使用ascx或其他等價物?

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
    <title> 
     <asp:ContentPlaceHolder ID="TitleContent" runat="server" /> 
    </title> 
    <asp:ContentPlaceHolder ID="HeadContent" runat="server" /> 
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
    <div class="header"> 
     <img src="/Content/image/img_06.jpg" width="320" height="192" /></div> 
    <div class="naviheader"> 
     <div class="navl"> 
     </div> 
     <a href="/Home" class="navitext">На главную</a> <a href="/Shedule" class="navitext"> 
      Расписание</a> <a href="/Home/About" class="navitext">О нас</a> <a href="/Admin" 
       class="navitext">АдминПанель</a> 
    </div> 
    <div id="middle"> 
     <div id="container"> 
      <div id="content"> 
       <asp:ContentPlaceHolder ID="MainContent" runat="server"> 
       </asp:ContentPlaceHolder> 
      </div> 
      <!-- #content--> 
     </div> 
     <!-- #container--> 
     <div class="sidebar" id="sideLeft"> 
      <asp:ContentPlaceHolder ID="Login" runat="server"> 
       <% Html.RenderPartial("Login"); %> 
      </asp:ContentPlaceHolder> 
     </div> 
</body> 
</html> 

哪裏,什麼我必須插入? 這裏是登錄視圖(CSS):

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Main.Master" Inherits="System.Web.Mvc.ViewPage<TrainShedule.Models.LogOnModel>" %> 

<asp:Content ID="loginTitle" ContentPlaceHolderID="TitleContent" runat="server"> 
    Log On 
</asp:Content> 

<asp:Content ID="loginContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>Log On</h2> 
    <p> 
     Введите свой логин и пароль: 
    </p> 

    <% using (Html.BeginForm()) { %> 
     <%= Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") %> 
     <div> 
      <fieldset> 
       <legend>Ввод данных:</legend> 

       <div class="editor-label"> 
        <%= Html.LabelFor(m => m.UserName) %> 
       </div> 
       <div class="editor-field"> 
        <%= Html.TextBoxFor(m => m.UserName) %> 
        <%= Html.ValidationMessageFor(m => m.UserName) %> 
       </div> 

       <div class="editor-label"> 
        <%= Html.LabelFor(m => m.Password) %> 
       </div> 
       <div class="editor-field"> 
        <%= Html.PasswordFor(m => m.Password) %> 
        <%= Html.ValidationMessageFor(m => m.Password) %> 
       </div> 

       <div class="editor-label"> 
        <%= Html.CheckBoxFor(m => m.RememberMe) %> 
        <%= Html.LabelFor(m => m.RememberMe) %> 
       </div> 

       <p> 
        <input type="submit" value="Log On" /> 
       </p> 
      </fieldset> 
     </div> 
    <% } %> 
</asp:Content> 

回答

2

首先,你需要改變你的登錄視圖頁面(ASPX)用戶contorl(ASCX)。這不應該太難;複製和粘貼一些調整應該做到這一點。

一旦你有了控制權,你可以將它添加到你的母版頁中,並且它會出現在所有使用母版頁的頁面上。有兩種方法可以將控件添加到頁面。

  1. 拖動用戶控件到設計表面 enter image description here

  2. Html.RenderUserControl enter image description here

下面的鏈接將幫助很多。 asp.net mvc usercontrols start to finish

0

使用部分視圖(如.ascx)並使用佈局(如母版頁)。

相關問題