我使用C#和SQL Server 2005頁面重載本身在ASP MVC和Entity Framework提交後
開發一個ASP.NET的MVC 3應用程序,我有2次:
指數:包含一個DropDownList「 GAMME」和按鈕‘配置者’
GESTION:Partail查看包含許多其他領域,,,我會發現僅是必要的:DROPDOWNLIST‘郵政’和一個按鈕提交‘Enregistrer’
當我點擊按鈕'配置',,,的部分視圖'Gestion'id像這樣打開:
當我填充字段,然後點擊'Enregistrer'按鈕。所有的值將被保存在ListG列表中。
在DropDownList'Poste'中選擇的項目將被刪除。
問題:
在提交後,並去除DropDownList中的項目,我想的是,「局部視圖」仍然顯示和我沒有點擊另一個時間上的按鈕「配置者」。
指數的代碼視圖:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.master" Inherits="System.Web.Mvc.ViewPage<MvcApplication2.Models.FlowViewModel>" %>
<%@ Import Namespace="Helpers" %>
<% using (Html.BeginForm("Save", "ProfileGa"))
{ %>
<div><%:Html.Label("Gamme :")%><%: Html.DropDownListFor(model => model.SelectedProfile_Ga, new SelectList(Model.Profile_GaItems, "ID_Gamme", "ID_Gamme"), new { @id = "gg" })%>
<input type="button" value="Configurer" id="btnShowGestion" onclick="GamDis()"/>
<div id="divGestion">
<%: Html.Partial("Gestion", Model) %>
</div>
<% } %>
input type="button" value = "Valider" />
<script type="text/javascript">
$(document).ready(function() {
$('#btnShowGestion').click(function() { $('#divGestion').slideToggle("slow") });
});
</script>
視圖 'GESTIÓN' 的代碼:
<legend>Gestion de Gamme</legend>
<div>
<%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems, new { @id = "poste" })%>
<div>
<%:Html.Label("Nombre de Passage :")%><%: Html.EditorFor(model=>model.Nbr_Passage)%>
</div>
<div class="editor-field">
<%: Html.ValidationMessageFor(model => model.Nbr_Passage)%>
</div>
<div>
<%:Html.Label("Position :")%><%: Html.EditorFor(model=>model.Position)%>
</div>
<div>
<%:Html.Label("Poste Suivant :")%><%: Html.DropDownListFor(model => model.PosteSuivantSelected, Model.PostesItems, new { @id = "dd" })%>
<input type="button" value="Ajouter" id="add" onclick="addtext()"/>
<script type="text/javascript">
$(function() {
$('#btnSave').click(function() {
$('#poste option:selected').remove();
});
});
</script>
<% } %>
控制器的代碼的一部分:
[HttpGet]
public ActionResult Index()
{
var viewModel = new FlowViewModel();
viewModel.PostesItems = new SelectList(db.Postes.ToList(), "ID_Poste", "ID_Poste");
viewModel.Profile_GaItems = db.Profil_Gas.ToList();
viewModel.GaItems = db.Gammes.ToList();
viewModel.ListG = (List<Gamme>)System.Web.HttpContext.Current.Session["GammeList"];
string[] PostesID;
if(viewModel.ListG != null){
PostesID = viewModel.ListG.Select(item=>item.ID_Poste).ToArray();
viewModel.PostesItems = new SelectList(db.Postes.Where(item=>!PostesID.Contains(item.ID_Poste) ).ToList(), "ID_Poste", "ID_Poste");
}
return View(viewModel);
}
[HttpPost]
public ActionResult Save(FlowViewModel model)
{
Console.WriteLine("" + model.Nbr_Passage);
if (ModelState.IsValid)
{
Gamme G = new Gamme();
G.ID_Gamme = model.SelectedProfile_Ga;
G.ID_Poste = model.SelectedPoste;
G.Next_Posts = model.PosteSuivantSelected;
G.Nbr_Passage = int.Parse(model.Nbr_Passage);
G.Position = int.Parse(model.Position);
((List<Gamme>)System.Web.HttpContext.Current.Session["GammeList"]).Add(G);
var list = ((List<Gamme>)System.Web.HttpContext.Current.Session["GammeList"]);
}
return RedirectToAction("Index");
}
這是型號FlowViewModel:
public class FlowViewModel
{
[Key]
public string IDv { get; set; }
[NotMapped]
public SelectList PostesItems { get; set; }
public List<Profile_Ga> Profile_GaItems { get; set; }
public List<Gamme> GaItems { get; set; }
public List<Famille> FaItems { get; set; }
public List<Sous_Famille> SFItems { get; set; }
public List<Produit> PItems { get; set; }
public List<Ns_AFaire> NSItems { get; set; }
public List<Fonction_Poste> FPItems { get; set; }
[NotMapped]
public SelectList NextPS { get; set; }
[NotMapped]
public SelectList GenreItems { get; set; }
public string SelectedProfile_Ga { get; set; }
public string SelectedPoste { get; set; }
public string SelectedFonction { get; set; }
public string PostePrecedentSelected { get; set; }
public string PosteSuivantSelected { get; set; }
public string Position { get; set; }
public string Nbr_Passage { get; set; }
public string SelectedGenre { get; set; }
[NotMapped]
public List<Gamme> ListG {get;set;}
public FlowViewModel()
{
FaItems = new List<Famille>();
SFItems = new List<Sous_Famille>();
}
public List<string> ID_Fonction { get; set; }
}
是否有任何想法使用會話來解決這個問題。
所示的代碼是'divGestion'默認是隱藏的一些值。 – Saravanan
@saravanan你的意思是當我打開頁面時,如果是這樣,是的,,, divGestion是隱藏的 – anouar