一些奇怪的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