Asp.net mvc .Net MVC 4视图引擎WebForm
在我看来,这是一个相当有趣的问题。 我有一个使用WebForm视图引擎的强类型视图,我不知道更改为razor是否能解决我的问题 问题: 我有一个汽车列表视图,因此类型为Asp.net mvc .Net MVC 4视图引擎WebForm,asp.net-mvc,webforms,razor,viewengine,Asp.net Mvc,Webforms,Razor,Viewengine,在我看来,这是一个相当有趣的问题。 我有一个使用WebForm视图引擎的强类型视图,我不知道更改为razor是否能解决我的问题 问题: 我有一个汽车列表视图,因此类型为IList。 我有一个按钮“创建一辆新车”弹出,弹出的是一个隐藏的表单,你调用一个jQuery UI命令$('formName')。dialog()要弹出它,这个表单具有可能的新车的属性,因此可能是一个带有强类型车的新视图。填写表单后,数据库中应该填充新车,并且应该使用Ajax刷新汽车列表。 主要的问题是,我不能同时使用HTML助
IList
。
我有一个按钮“创建一辆新车”弹出,弹出的是一个隐藏的表单,你调用一个jQuery UI命令$('formName')。dialog()
要弹出它,这个表单具有可能的新车的属性,因此可能是一个带有强类型车的新视图。填写表单后,数据库中应该填充新车,并且应该使用Ajax刷新汽车列表。
主要的问题是,我不能同时使用HTML助手来IList
和Car
简而言之:该视图的强类型是什么?是否可以使用弹出窗口定义两个视图和另一个调用?把它换成剃须刀能解决我的问题吗
致以最良好的祝愿
Tito Morais不要将列出汽车和创建新车的视图混合在一起
例如,可以使用jQuery对话框或类似组件创建一个弹出窗口,动态加载“\u CreateCar”局部视图。然后,当部分视图完成时,使用另一个Ajax调用重新加载列表视图。也许不那么优雅的解决方案是创建一个复杂的视图模型,如:
class ListAndCreate
{
public IList<Car> AllCars {get;set;}
public Car NewCar {get;set;}
}
类列表和创建
{
公共IList AllCars{get;set;}
公共汽车新车{get;set;}
}
在我看来,这是正确的,因为一个视图负责列出所有汽车并创建一个新的。现在,我假设您的新车
有来自控制器或其他东西的值,您需要将模型传递给视图
@Jonas提到的另一种方法也是正确的,而且更加统一。您可以使用类型Car
创建部分视图\u CreateCar
,使用Jquery/Ajax进行渲染,将其加载到对话框/弹出窗口中,并将表单发布到控制器中的create(Car c)
方法。我不知道您的问题是什么。但在Razor中,没有什么是在WebForms中做不到的。我自己更喜欢Razor,但更改并不能解决您的“问题”。除非您在这里发布代码示例,否则没有人会提供可靠的答案。我有点理解你需要什么,但这可能是错误的,所以张贴代码,请。