我是ASP.NET MVC 3的新手,希望将我们的网站从其他工具升级到asp.net mvc 3。 在当前情况下,我有产品是用户特定的,每个产品都有主要类别,类别和子类别。当用户登录时,用户只能查看适用于他的产品(带分页)。在lefthandside导航菜单中,它将PrimaryCategory显示为ComboBox,将Category和SubCategory显示为TreeView(导航部分仅显示适用于用户的产品的Primary / Categories / SubCategories)。此导航菜单将在每个页面(即主页面)上显示,以便用户可以轻松切换到任何Cat / SubCat。
我有关于导航菜单和分页(产品列表)的以下问题。
使用MVC 3(Razor View Engine)如何在MasterPage上用Primary Categories(ComboBox),Category / SubCategory填充导航部分作为Tree View?是否有可用于这些的控件或我只需要使用html + css进行操作?
这是什么URL语法和路由映射。我是否需要将PrimaryCat,Cat,SubCat ID和PageNumber作为映射传递(即/ products / 1/2/3/1到每个URL或只是PageNumber和查询字符串参数(/ products / 1?PCat = 1& Cat = 2及。SUBCAT = 3)
当用户选择任何Category / SubCategory时,在Content部分中,如何将产品显示为带分页的datagrid。再次对datagrid有任何控制吗?
我在MasterPage(ShoppingBasket)上有另一个部分,我在其中显示用户在篮子中添加的项目,所以我想在用户点击数据网格中的添加按钮时更新该部分而不刷新整个页。
我已经阅读了Scott在Asp.net网站上关于使用抽象控制器将数据传递给MasterPage的教程,并将继续使用它,除非有人有更好的想法。
非常感谢任何回应。 提前致谢
此致 Jhelumi
答案 0 :(得分:1)
您的大多数问题都与用户界面相关,并且有多种方法可以解决这些问题。
问题1;是的,你需要自己做渲染。或者您可以将类别转储到JavaScript数组中,并使用jQuery Treeview Plugin之类的插件在客户端进行渲染。
问题2;它可以以任何方式工作。所以这取决于你。
问题3和4当然是可能的。但它们太广泛了,所以很难给出明确的答案。如果您要求一个具体的例子,我可以尝试提供一些示例代码。
无论如何,我建议尝试忘记datagrid或任何其他服务器端控件。 ASP.NET MVC的一大优点是您可以完全控制从服务器发送到客户端的响应。您只需将模型提供给视图(如果需要),该视图负责将信息显示给用户。