我正在做我的作业,其中我正在 asp.net MVC 3 中开发一个购物网站,目前我仅在视图中完成我的工作。我有一个产品页面,单击详细信息后,我必须打开产品详细信息页面。
<a href="ProductDetails.cshtml"> Details </a>
我有多个产品,我想告诉我的产品详细信息页面打开了哪些产品详细信息。一种方法是我可以在 ID 后面附加 URL,例如
<a href="ProductDetails.cshtml?id=1"> Details </a>
但我无法理解如何在产品详细信息页面上接收此 id,因为我没有控制器,也没有模型,并且我正在使用服务器端代码使用 .cshtm 页面上的紧凑数据库来获取数据。
您可以使用以下方式访问查询字符串Request.QueryString["key"]
。所以我想你会想使用这样的东西:
@{
var myProductId = Request.QueryString["id"];
}
Caveat:当然,这是一种不好的做法,通常 MVC 模式要求您在控制器的操作中提取 ID,获取模型数据,然后将该模型数据返回到视图。视图应该尽可能少地了解查询字符串和任何程序逻辑等内容。
public class ProductController : Controller
{
public ActionResult ProductDetails(string id)
{
MyProduct model = SomeDataSource.LoadByID(id);
return View(model);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)