首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构建可重用的ASP.NET MVC“控件”

如何构建可重用的ASP.NET MVC“控件”
EN

Stack Overflow用户
提问于 2014-05-22 20:58:27
回答 2查看 122关注 0票数 0

所以,我非常熟悉web表单和如何构建可重用的.ascx控件。

我想在ASP.NET MVC中解决的设计示例:

我的产品销售的东西,我的产品提供会员资格给客户(想想一个健身俱乐部,在那里,他们有会员购买的信用卡,以及零售商店,在那里他们接受信用卡支付产品)。

我需要一个控制,在那里,现有的客户可以支付任何类型的产品与任何一个节省的信用卡或输入新卡。

Web CreditCardEntryControl.ascx -当提交.aspx页面上的“完整购买”表单时,我从子控件获得必要的信息,并做我必须做的事情。

Razor视图是如何完成这类事情的?

因此,我将有一个包含"NameOnCard“、"CreditCardNumber”、"Cvv“、"ExpMonth”、"ExpYear“的模型。它还会有一个可空的"SelectedStoredCreditCardId“。

然后,在父母的“页面”上,我会得到关于正在购买的东西的信息(零售商品或会员或其他任何东西).这是表格将被张贴的地方。

如何让CreditCardEntry上的“子”元素(或其他什么)与表单一起发布,这样我就可以做我必须做的事情了?

不是什么新问题.我只是希望有人能给我找个好办法。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-22 21:12:16

为此,我将使用Razor编辑器模板。

创建一个包含信用卡表单所有属性的类(即CreditCardInfo)。将此类型的属性添加到“父”页的视图模型中。在父页面的视图中,您将执行如下操作:

代码语言:javascript
复制
@Html.EditorFor(model => model.CreditCardInfo)

这将确保您的信用卡信息(子)表单中的所有字段都将使用正确的名称创建,以便它们可以在提交时绑定到您的控制器中。

您可以通过部分视图实现类似的效果,但是如果信用卡信息需要成为父页面(更大的)表单的一部分,则很难绑定值。

票数 2
EN

Stack Overflow用户

发布于 2014-05-22 21:12:07

您也可以利用部分视图来做同样的事情。这是一个get 你开始学习教程

希望它能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23816936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档