一些奇怪的MVC模型性質正在發生的事情,我無法理解爲什麼..這裏的情景 -返回默認值
我有幾個屬性的模型,當我填充模型在模型的屬性確實有值設置(通過放置斷點進行檢查)。它也出現在視圖中,但不會顯示在文本框中。它顯示了默認值(通過查看頁面上的項目文本框,因爲它具有0而猜測)。
下面是我的模型 -
public class PriceEnquiryModel
{
[DisplayName("Item")]
public int item { get; set; }
[DisplayName("Description")]
public string description { get; set; }
[DisplayName("UOP")]
public string uop { get; set; }
[DisplayName("UOS")]
public string uos { get; set; }
[DisplayName("Pack Description")]
public string pack_description { get; set; }
[DisplayName("Pack Size")]
public string PackSize { get; set; }
}
這是控制器的代碼爲 -
public ActionResult Search(PriceEnquiryModel price)
{
var priceEnquiryModel = new PriceEnquiryModel();
// Read parameter values from form.
int item = Convert.ToInt32(Request.Form["txtSearch"].ToString());
int maxrow = Convert.ToInt32(Request.Form["txtmaxrow"].ToString());
string priceType = !string.IsNullOrWhiteSpace(price.priceType) && price.priceType.ToUpper().Equals("STA") ? "N" : "Y";
// Get the price information
var operationResult = priceBal.SearchPriceEnquiry(0, item, price.price_scheme, priceType, maxrow);
var priceEnquiryDomList = (List<PriceEnquiryDom>)operationResult[0].Result;
// Check if we have something
if (priceEnquiryDomList != null && priceEnquiryDomList.Count > 0)
{
// Parse the model.
priceEnquiryModel = helper.ConvertDomToModel(priceEnquiryDomList[0]);
// Prepare the list.
priceEnquiryModel.PriceEnquiryModelList = new List<PriceEnquiryModel>();
foreach (var priceEnquiryDom in priceEnquiryDomList)
{
var priceEnquiryModelListItem = helper.ConvertDomToModel(priceEnquiryDom);
priceEnquiryModel.PriceEnquiryModelList.Add(priceEnquiryModelListItem);
}
Session["mainModel"] = priceEnquiryModel;
}
// Prepare product drop down list items if searched by product desc
if (TempData.Count > 0 && TempData["Products"] != null)
{
var products = TempData["Products"] as List<ProductSearchByDescModel>;
ViewBag.Products = products;
}
return View("Index", priceEnquiryModel);
}
這是在視圖模型(在調試) -
這是怎麼了渲染視圖上的模型 -
這是網頁運行後 -
有誰有任何想法到底是怎麼回事 ?我在多個頁面上完成了相同的操作,並且按預期運行。
在此先感謝。 Rohit
的屬性設置新值之前調用
ModelState.Clear()
你會告訴我們的行動?當你傳遞模型動作來查看時,可能會發生一些問題。 –是否有任何JavaScript與這些值混淆? – beautifulcoder
@beautifulcoder,不存在這樣的js .. – Rohit