我正在MVC3中创建应用程序。我有一个ConferenceController,它有一个像这样的Create()视图:
命名空间Configurator.Controllers { public class ConferenceController:BaseController
{
public ActionResult Create()
{
return View(new ConferenceModel());
}
}
}
我在此创建视图中有一个下拉列表,其中包含产品列表。在选择特定产品时,我会以这种方式在ConferenceModel的对象中获取该产品的详细信息:
$(“#ddlProductList”)。change(function(){ $ .get('/ Conference / GetProductDetailByProductID /',{ProductID:$(this).val()},function(response){ }); });
在ConferenceController中创建了一个函数,当下拉更改事件时,将调用该函数。
public ActionResult GetProductDetailByProductID(string ProductID) { return View(ConferenceModel.GetProductDetailByProductID(ProductID)); }
在ConferenceModel中创建了一个函数,并根据数据库中的ProductID获取产品详细信息:
public static ConferenceModel GetProductDetailByProductID(string ProductID)
{
ConferenceModel obj = new ConferenceModel();
// Logic goes here to to get the details of product on the basis of productID and returning the object.
return obj;
}
当我尝试检查此功能时,它给出了我在本节COnferenceController页面找不到任何显示数据视图的错误:
public ActionResult GetProductDetailByProductID(string ProductID)
{
return View(ConferenceModel.GetProductDetailByProductID(ProductID));
}
我的问题是我可以使用现有的Create()视图来显示数据,或者我必须使用以下名称创建另一个视图:GetProductDetailByProductID()
任何人都知道这个问题然后请帮助我。
答案 0 :(得分:0)
View方法存在重载,允许您指定视图名称:
return View(“Create”,ConferenceModel.GetProductDetailByProductID(ProductID));
答案 1 :(得分:0)
您可以使用
指定视图名称return View("viewname", model)
默认情况下,操作名称用作视图名称。
答案 2 :(得分:-1)
您希望从客户端脚本中使用jQuery获取产品详细信息。
而不是回复:
public ActionResult GetProductDetailByProductID(string ProductID)
{
return View(ConferenceModel.GetProductDetailByProductID(ProductID));
}
为什么不简单地返回一串JSON?
public JsonResult GetProductDetailByProductID(string ProductID)
{
return this.Json(ConferenceModel.GetProductDetailByProductID(ProductID));
}