1

C# と SQL Server 2005 を使用して ASP .Net MVC 3 アプリケーションを開発しています。

Entity Framework と Code First Method も使用しています。

Entity Frameworkを使用して自動的に生成されるビューインデックスがあります(他のビューでは、1つのフォルダーで作成、編集、削除...)。

これらのビューのフォルダー名は「ProfileGa」で、​​そのフォルダーにデータを入力するコントローラーは「ProfileGaController」、モデルは「FlowViewModel」です。

私の問題は、「ProfileGaController」のビュー インデックスから別のコントローラのビューにアクセスしたいということです。

詳細を説明するには: 説明

では、アクション リンクを使用して Profile_Ga (正確には Index) のビューから Gamme のビューにアクセスするにはどうすればよいでしょうか。

Index のコードを入れます:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.master" Inherits="System.Web.Mvc.ViewPage<MvcApplication2.Models.FlowViewModel>" %>
<%@ Import Namespace="Helpers" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Index
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>Gestion de flux de production</h2>



<p>
    <%: Html.ActionLink("Ajouter une nouvelle gamme", "Create") %>
</p>

<table>
    <tr>
        <th>
            ID Gamme
        </th>
        <th>
            Entrée
        </th>
        <th>
           Sortie
        </th>
        <th>
            Gamme Suivante
        </th>
        <th>
            Etat
        </th>
        <th>Opérations</th>
    </tr>

<% foreach (var item in Model.Profile_GaItems) { %>
    <tr>
         <td>
            <%: Html.DisplayFor(modelItem => item.ID_Gamme) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.In_Ga) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Out_Ga) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Next_Gamme) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Etat) %>
        </td>
        <td>
            <%: Html.ActionLink("Modifier", "Edit", new { id=item.ID_Gamme }) %> |
            <%: Html.ActionLink("Détails", "Details", new { id=item.ID_Gamme }) %> |
            <%: Html.ActionLink("Supprimer", "Delete", new { id=item.ID_Gamme }) %>
        </td>
    </tr>


<% } %>

</table>
<% using (Html.BeginForm("Save", "ProfileGa"))
   { %>
  <div><%:Html.Label("Gamme :")%><%: Html.DropDownListFor(model => model.SelectedProfile_Ga, new SelectList(Model.Profile_GaItems, "ID_Gamme", "ID_Gamme"))%> <input type="button" value="Configurer" id="btnShowGestion" /></div> 




<div id="divGestion"><%: Html.Partial("Gestion", Model) %></div>
       <% } %>   
        <script type="text/javascript">

            $(document).ready(function () {





                $('#btnShowGestion').click(function () { $('#divGestion').slideToggle("slow") });



            });

</script>
<fieldset>
<legend>Gestion des Gammes</legend>
<table>
    <tr>
        <th>
            ID Gamme
        </th>
        <th>
            ID Poste
        </th>
        <th>
           Nombre de Passage
        </th>
        <th>
            Position
        </th>
        <th>
            Poste Précédent
        </th>
         <th>
            Poste Suivant
        </th>
        <th>Opérations</th>
    </tr>

<% foreach (var item in Model.GaItems) { %>
    <tr>
         <td>
            <%: Html.DisplayFor(modelItem => item.ID_Gamme) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.ID_Poste) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Nbr_Passage) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Position) %>
        </td>
        <td>
            <%: Html.DisplayFor(modelItem => item.Last_Posts) %>
        </td>
         <td>
            <%: Html.DisplayFor(modelItem => item.Next_Posts) %>
        </td>
        <td>
            <%: Html.ActionLink(?????????????????) %> |
            <%: Html.ActionLink(?????????????????) %> |
            <%: Html.ActionLink(?????????????????) %>
        </td>
    </tr>


<% } %>
</table>
 </fieldset>     
</asp:Content>

注 : 「????????」ActionLinkでは、ここから Gamme のビューにアクセスします。

4

2 に答える 2

2

必要に応じて、URL ではなくコントローラーから行うこともできます。

アクションメソッドでこのコード行を使用する

return View("ViewName", model)

于 2013-05-20T08:56:12.163 に答える