天道酬勤,学无止境

如何通过 asp.net mvc 或 jquery 提交包含动态数据行的表?(How to submit a table with dynamic rows of data via asp.net mvc or jquery?)

问题

我对 asp.net mvc 完全不熟悉,目前我正在编写一个 Web 应用程序,它允许用户从列表框中选择多个产品并将它们添加到一个动态表中,其中包含可以添加或删除的行。

因此我正在考虑使用jquery添加和删除表格行,因此表格行将通过append(“xxx”)添加。

但问题是我对 asp.net mvc 表单提交不太熟悉,据我目前的理解,我可以稍后通过 form["id"] 检索值,但如果我要通过该方法创建表行,我认为它要么使用相同的 id,要么我可以使用运行中的无 id 和隐藏输入来跟踪添加了多少产品。

我也可能想在删除所有产品后隐藏整个产品表。

ps有点感觉我的方式有点像一个又大又脏的黑客,总有一天会回来咬我。

问题:

  1. asp.net mvc 有处理所有这些的好方法吗? 我读过一些关于 mvc tempdata 的内容。
  2. 有没有更好的方法来处理动态产品生成? 为了方便以后在 asp.net mvc 中提交表单
  3. 而且我发现您实际上也可以通过 jquery 提交表单,这两种方法之间有什么优缺点吗? 在性能、安全性、维护等方面?

谢谢

回答1

您可以发布对象集合; 在 MVC 中。 这是一个例子:http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx

基本上,您可以使用 JQuery 创建表,但确保控件的 ID 引用此方案,因此对于使用 JQuery 添加的下一行,确保输入数据的控件使用列表中的下一个索引,以及与底层绑定对象中的属性同名。

当您发布到服务器时,您可以循环访问此集合。

回答其他问题:如果您不想回发到服务器,可以通过 JQuery 提交表单(也可以使用 ASP.NET MVC)......否则,您无需担心 JQuery 提交。 所以这可能会增加可用性。

HTH。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 《ASP.NET MVC 5 编程实战》 - 学习笔记
    《ASP.NET MVC 5 编程实战》 ========== ========== ========== [作者] (美) Dino Esposito [译者] (中) 潘丽臣 [出版] 清华大学出版社 [版次] 2015年03月 第1版 [印次] 2015年03月 第1次 印刷 [定价] 59.80元 ========== ========== ========== 【前言】 Web Forms 的最常见应用场景是,你要开发专注于呈现数据并使用第三方控件套装的应用程序。 ASP.NET MVC 可用于处理其他所有方面,包括客户端单页面应用程序的框架搭建。 ASP.NET MVC 足以成为任何一个需要实体后台的应用程序的理想 Web 平台,对于那些以多设备实用功能为目标的 Web 应用程序来说尤其如此。 【第01章】 (P003) 在 ASP.NET MVC 中,每个请求的结果最终都会执行某个操作 —— 根本上来说也就是特定类上的方法。操作执行的结果会与一个视图模板一起传递给视图子系统。结果和模板随后会用于生成浏览器的最终响应。用户不需要将浏览器指向某个页面,他们只需要放置一个请求即可。 使用 ASP.NET MVC ,可以获得对标记的完全控制,并能随意用你最喜欢的 JavaScript 框架来套用样式和注入脚本代码。 (P004) 在软件中,术语 URI (统一资源标识符)
  • 《ASP.NET MVC 5 编程实战》 - 学习笔记
    《ASP.NET MVC 5 编程实战》 ========== ========== ==========[作者] (美) Dino Esposito[译者] (中) 潘丽臣[出版] 清华大学出版社[版次] 2015年03月 第1版[印次] 2015年03月 第1次 印刷[定价] 59.80元========== ========== ========== 【前言】 Web Forms 的最常见应用场景是,你要开发专注于呈现数据并使用第三方控件套装的应用程序。 ASP.NET MVC 可用于处理其他所有方面,包括客户端单页面应用程序的框架搭建。 ASP.NET MVC 足以成为任何一个需要实体后台的应用程序的理想 Web 平台,对于那些以多设备实用功能为目标的 Web 应用程序来说尤其如此。 【第01章】 (P003) 在 ASP.NET MVC 中,每个请求的结果最终都会执行某个操作 —— 根本上来说也就是特定类上的方法。操作执行的结果会与一个视图模板一起传递给视图子系统。结果和模板随后会用于生成浏览器的最终响应。用户不需要将浏览器指向某个页面,他们只需要放置一个请求即可。 使用 ASP.NET MVC ,可以获得对标记的完全控制,并能随意用你最喜欢的 JavaScript 框架来套用样式和注入脚本代码。 (P004) 在软件中,术语 URI (统一资源标识符)
  • ASP.NET MVC 3 动态控件(ASP.NET MVC 3 dynamic controls)
    问题 我是 MVC 的新手,想知道如何在 MVC3 中动态创建控件? 在我的情况下,情况是有一个表格,候选人可以输入他的工作经验,他可以根据他以前工作过的公司数量添加多个条目。 因此,当用户说“添加另一个”时,需要动态添加用户输入详细信息的控件集。 我用谷歌搜索了一下,但除了使用 jquery 创建控件之外,并没有太大的区别。 我的主要问题是如何动态呈现控件,然后在提交表单时获取它们的值。 如果有人可以就此提出一些示例/教程,那就太好了? 回答1 您显然来自 Asp.net WebForms 背景,因此在将 MVC 与 WebForms 进行比较时遇到了一些问题。 通常在客户端添加动态控件 添加额外的 HTML 元素只需在客户端完成,因为它快速、方便并且不需要服务器端状态保存。 而且因为(几乎)不需要在服务器上加载这些。 您可能已经发现,Asp.net MVC 的工作方式与 Asp.net WebForms 完全不同。 一个容易理解的例子 因此,最简单的方法是在客户端加载模板,然后根据该特定模板添加新项目。 这个 JSFiddle 向你展示了如何。 如果您不能在 HTML 中提供模板,您总是可以通过 Ajax 加载它,但只有在存在以下情况时才应该这样做: 太多不同的模板需要添加——一个例子是一个包含用户列表的页面,其中每个用户都需要一个复杂的模板,这可能会因数据库请求和臃肿的
  • 如何在不使用Java脚本的情况下防止在.NET MVC中提交多个表单?(How do I prevent multiple form submission in .NET MVC without using Javascript?)
    问题 我想防止用户在.NET MVC中多次提交表单。 我已经尝试过使用Javascript的几种方法,但是很难使它在所有浏览器中都能正常工作。 那么,如何在我的控制器中防止这种情况呢? 是否有某种方式可以检测到多个提交? 回答1 不要重新发明轮子:) 使用发布/重定向/获取设计模式。 在这里,您可以找到一个问题和一个答案,并提供一些有关如何在ASP.NET MVC中实现它的建议。 回答2 更新了ASP.NET Core MVC(.NET Core和.NET 5.0)的答案 更新说明:请记住,ASP.NET Core在.NET 5.0中仍称为“ Core”。 我将像以前一样坚持使用影响最小的用例,在该用例中,您只装饰了您特别希望防止重复请求的那些控制器动作。 如果要让此过滤器在每个请求上运行,或者要使用异步,则还有其他选项。 有关更多详细信息,请参见本文。 现在,新的表单标签帮助程序会自动包含AntiForgeryToken,因此您不再需要手动将其添加到视图中。 像此示例一样创建一个新的ActionFilterAttribute 。 您可以使用此工具执行许多其他操作,例如,进行时间延迟检查,以确保即使用户提供了两个不同的令牌,它们也不会每分钟提交多次。 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method
  • 如何在 ASP.NET 中向表中动态添加行?(How to dynamically add rows to a table in ASP.NET?)
    问题 所以今天我开始学习ASP.NET。 不幸的是,我没有在网上找到任何好的教程,而且我现在买不起书,所以我不得不在 Visual Studio 2010 中创建一个 ASP.NET Web 应用程序,然后使用默认的项目设置. 到目前为止,这是我的 Default.aspx 中的内容: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Project Management</title> </head> <body> <div style="padding-bottom:10px;"> Project Management System</div> <div> <table style="width:100%;"> <tr>
  • ASP.NET MVC ActionLink和发布方法(ASP.NET MVC ActionLink and post method)
    问题 谁能告诉我如何使用ActionLink和POST方法将值提交给Controller? 我不想使用按钮。 我猜它与jquery有关系。 回答1 您不能使用ActionLink因为这只会呈现锚点<a>标记。 您可以使用jQuery AJAX帖子。 或仅在带有或不带有jQuery(这将是非AJAX)的情况下调用表单的Submit方法,也许在任何您喜欢的控件的onclick事件中。 回答2 如果您使用的是ASP MVC3,则可以使用Ajax.ActionLink(),它允许您指定可以设置为“ POST”的HTTP方法。 回答3 您可以使用jQuery对所有按钮进行POST。 只需给他们使用相同的CssClass名称即可。 使用“返回假”; 如果要在发布后执行服务器端RedirectToAction,请在onclick javascript事件结束时进行操作,否则只需返回视图即可。 剃刀代码 @using (Html.BeginForm()) { @Html.HiddenFor(model => model.ID) @Html.ActionLink("Save", "SaveAction", "MainController", null, new { @class = "saveButton", onclick = "return false;" }) } jQuery代码 $
  • 从 ASP MVC 3 Preview 更新到 Beta 后提交的表单两次(Form submitted twice after updating from ASP MVC 3 Preview to Beta)
    问题 将我的 ASP MVC 从 3 Preview 升级到 3 Beta 后,我在 Ajax 表单中看到了奇怪的行为。 @using(Ajax.BeginForm("New", new AjaxOptions() {OnSuccess = "onAjaxSuccess", OnFailure = "onAjaxFailure", OnBegin = "onAjaxBegin", HttpMethod = "Post"})) {} <form action="/Order/New" data-ajax="true" data-ajax-begin="onAjaxBegin" data-ajax-failure="onAjaxFailure" data-ajax-method="Post" data-ajax-success="onAjaxSuccess" method="post"></form> 我在我的函数onAjaxBegin放置了一个alert ,每次我点击提交按钮时它都会被触发两次。 有其他人看到过这种行为吗? 升级后我没有更改代码中的任何内容,并且在升级之前它运行良好。 回答1 我遇到了同样的问题,我找到了解决方案:我包含了“ jquery.unobtrusive-ajax.min.js ” -Script两次:-) 回答2 查看生成的 HTML。 在 ASP.NET
  • 使用 MVC 以可重用的方式将客户端逻辑与服务器端逻辑分离(Separating client side logic from server side logic in a reusable way using MVC)
    问题 在回答之前,这个问题很复杂: 我们正在 asp.net / asp.net mvc / jQuery 中进行开发,但我对使用任何框架的任何平台上的解决方案持开放态度我认为像排序/隐藏列/重新排列列/验证(有意义的地方)之类的逻辑应该在客户端我认为像搜索/更新数据库/运行工作流这样的逻辑应该在服务器端(只是因为安全/调试原因) 我们试图做的不是通过编写一堆 JavaScript 来处理不同上下文中的相同功能,从而在我们的 UI 中创建混乱。 我知道我可以使用 JavaScript 文件 + 面向对象的 JavaScript,我正在寻找使这一切变得更容易的模式。 提出的一种解决方案是在客户端和服务器端都有一个 MVC 模型,我们可以在客户端控制器中封装 JavaScript 功能,然后在站点的不同部分使用它们。 然而,这意味着我们有 2 个 MVC 实现! 这是矫枉过正吗? 您将如何扩展此解决方案? 还有哪些其他解决方案? 回答1 在两个; 您应该始终进行服务器端验证以及客户端验证 三上; 如果您能找到一种在客户端操作数据库的方法,那将是令人印象深刻的 ;) 我不知道 ASP.net 是如何工作的,所以我仅从我的 PHP 经验中发言。 我会编写由服务器和客户端代码配对的控件。 每个控件都需要一个表单、客户端逻辑和服务器端逻辑。 表单由模板引擎写出,客户端逻辑附加到表单并用 JS
  • 在 asp.net mvc 中单击按钮动态添加控件(Add controls dynamically on button click in asp.net mvc)
    问题 我正在创建一个 asp.net MVC 应用程序,我想在其中提供动态添加控件的功能。 我有一个表单,其中有 2 个用作单个控件的名字和姓氏的文本框。 现在用户可以添加任意数量的这组控件。 我可以使用 java 脚本在页面上添加这些控件。 但是我不知道如何在用户提交时访问这些控件的值。 请对此提供帮助或建议另一种方法 谢谢 回答1 阅读 Steve Sanderson 撰写的文章 Editing a variable length list, ASP.NET MVC 2-style。 它向您展示了如何以干净的 MVC 风格做您正在寻找的事情。 回答2 查看使用 Jquery AJAX 调用进行提交操作。 您可以通过控件进行交互(使用 jquery 类选择器和 $.each 很容易)并将变量推送到 js 变量中。 将其解析为 JSON 并使用 ajax 调用将数据传回控制器。 回答3 如果您从 webforms 的角度来看,您习惯于在代码隐藏中以编程方式添加这些新控件。 使用 ASP.NET MVC,您最好使用 javascript 来执行此操作。 编写一个添加 FirstName1、FirstName2、FirstName3 等的 javascript 函数应该很简单。在 Controller 中,检查Request.Form.AllKeys以确定用户添加了多少字段。
  • 如何使用JavaScript而不是提交按钮来发布ASP.NET MVC Ajax表单(How to post ASP.NET MVC Ajax form using JavaScript rather than submit button)
    问题 我有一个使用Ajax.BeginForm创建的简单表单: <% using (Ajax.BeginForm("Update", "Description", new { id = Model.Id }, new AjaxOptions { UpdateTargetId = "DescriptionDiv", HttpMethod = "post" },new {id ='AjaxForm' })) {%> Description: <%= Html.TextBox("Description", Model.Description) %><br /> <input type="submit" value="save" /> <% }%> 控制器已连接好并返回局部视图,该局部视图更新了DescriptionDiv 。 一切都整齐地工作。 现在,我希望能够在没有提交按钮的情况下提交此表单(通过链接或图像上的快捷键或其他方式)。 不幸的是,这个小jQuery片段无法完成这项工作: $('form#AjaxForm').submit(); 它确实提交了表单,但是(我想不足为奇)确实进行了定期回发而不是Ajax回发。 为了简单起见,上面的jQuery是这样连接的: <a href="#" onclick="$('form#AjaxForm').submit(); return false
  • 在 MVC UserControls 及其父视图上调用的 POST 方法(POST method called on MVC UserControls as well as their parent views)
    问题 重写:我原来的帖子似乎被误解了。 从那以后,我将其报告为具有以下描述的错误。 我关于这个问题的原始帖子可以在第二个<HR > 下方找到。 我有一个用户控件中的 POST 主要问题。 我有一个 UserControl,它有一个控制器,其中包含两个名为“ContactForm”的 ActionMethods。 第二个有 ActionVerb.POST 来响应回发。 用户控件主要通过 AJAX 使用 - 但这实际上在这里无关紧要。 显然,这些操作方法呈现局部视图。 我有一个包含“EnterContest”的附加 html 表单的主页。 同样 - 它的控制器有两个名为“EnterContest”的 ActionMethods,其中之一响应 ActionVerb.POST。 此视图在侧栏中包含“ContactForm”,其呈现为: <% Html.RenderAction("ContactUsForm", "Company", new { commentsBoxHeader = "Questions" }); %> 回发“EnterContest”表单(视图上的主表单)时会出现问题。 来自 Fiddler 的 POST 请求只包含这个查询字符串(显然不包含来自联系我们表单的任何 POST 数据,因为那是一个完全独立的 HTTP ACTION)。 竞赛Id=ND09&email=fred
  • asp.net mvc 如何将完整模型从视图传递到控制器(asp.net mvc how to pass full model from view to controller)
    问题 我在视图中有这样的表 <table class='sendemailtable'> @if (!string.IsNullOrEmpty(Model.CustomerName)) { <tr> <td style="font-size: 26px;"> @Html.Label(string.Empty, Model.CustomerName) </td> </tr> } <tr><td style="padding-top: 15px;">To:</td></tr> <tr> <td> @Html.TextBoxFor(m => m.EmailTo) @Html.ValidationMessageFor(m => m.EmailTo); </td> </tr> <tr><td style="padding-top: 15px;">Subject:</td></tr> <tr> <td style="font-size: 22px;"> @Html.TextBoxFor(m => m.EmailBody) </td> </tr> few more <button style="..." type="submit">SEND</button> </table> 这些不是模型中的所有项目,它还有一些 ui 中不存在的 id,有一些只有 getter 的属性 public int
  • 当结合 asp.net 动态数据和 MVC MetaModel.Visible 包含带有 Scaffold==false 的表(When combining asp.net Dynamic Data and MVC MetaModel.Visible contains tables with Scaffold==false)
    问题 我通过创建一个新的 DD 项目并添加 MVC 的东西(引用、路由、使用等)来组合 MVC 和 DD。 default.aspx 上的表列表(来自 DD)将显示所有表,包括带有 [ScaffoldTable(false)] 的表。 具有 Scaffold==true 的表的 URL 具有预期的形式 (DD/TableName/List.aspx)。 但是,不应显示的表的 URL 的格式为 /Home/List?Table=TableName。 如果省略 MVC 路由 (Routes.MapRoute),则不会显示带有 Scaffold(false) 的表。 或者您可以只省略参数默认值。 我的猜测是动态数据通过检查是否可以为列表页面创建路由来确定表是否可见。 DynamicDataRoute 将不匹配,因为如果 Scaffold==false 则不会生成路由。 但是由于最后的参数默认值,因此 MVC 路由将匹配。 我是正确的,这是一个错误还是我在这里完全遗漏了什么? 编辑:我通过像这样在 Scaffold 上添加过滤 VisibleTables 来修复它,但这是一种解决方法...... System.Collections.IList visibleTables = MvcApplication.DefaultModel.VisibleTables.Where(o=>o
  • 如何在 ListBox 中加载大量数据? ASP.NET MVC 应用程序(How to load large amounts of data in a ListBox? ASP.NET MVC application)
    问题 我正在使用 ASP.NET MVC 应用程序。 要求用户能够从包含超过 30,000 个条目的 ListBox 中选择一个项目。 是否有一种动态方式可以使用 Ajax 调用来填充此 ListBox 的内容——这会表现得很好吗? 我最好只在服务器上填充 ListBox 控件,然后让用户等待页面呈现 30,000 个条目吗? 如果我采用某种 jQuery 解决方案,性能会更好吗? 关于如何最有效地处理这种情况的任何建议(无需客户更改要求 :-))? 回答1 这听起来是个坏主意 - 30,000 个条目? 如果您必须从这个大小的列表中进行选择,您会有什么感觉? 对于此类用例,最好使用自动完成功能。 回答2 我不会像其他人那样尝试回答这个问题: 这种类型的控件在企业应用程序中非常常见:包含数千个条目的下拉控件和列表。 (来源:mac.com) 错误使用它的程序员通常会在发现加载表单需要非常长的时间时得到一个提示,即它可能不合适。 以下消息于 1996 年 12 月 11 日发布在 Visual Basic 程序员论坛上,是典型的: 我想用 2000 个项目填充一个列表框......这需要非常长的时间......超过 20 分钟。 有任何想法吗? 1996 年 12 月 16 日发布的另一篇文章则不那么典型: 我正在寻找一个列表框控件,它可以……容纳大量条目(20,000+)
  • 如何ajax发布一个包含动态表中的字段的表单,可以动态添加行和列(how to ajax post a form that includes fields in a dynamic table for which both rows and columns can be added dynamically)
    问题 每个单元格都有一些字段、文本输入、单选按钮或选择。 我是否被迫以这种方式命名字段,以便名称体现行和列索引? 像“数据[行] [列]”? 在向表中添加行或列时动态创建这些字段名称有点麻烦。 可以在这里使用 jQuery 魔法吗? 回答1 当然可以,看这里: // This assumes that you've wrapped the form #myform around the input $('#myform').submit(function() { $('#mytable tr').each(function(n, elem) { $('td', elem).each(function(m) { $('input:text, input:radio, textarea, select') .attr('name', 'data['+n+']['+m+']'); }); }); // Do some validation or just let it submit :D }); 干得好! 回答2 当然可以使用jquery魔法! 只需将您的单元格命名为它们是什么,并包含一个带有 id 的隐藏字段,例如: <tr> <td class="firstname"><input /></td> <td class="lastname"><input /></td> <td
  • jQuery Validation插件:对指定的提交按钮禁用验证(jQuery Validation plugin: disable validation for specified submit buttons)
    问题 我有一个表单,其中包含多个要通过JörnZaeffere出色的jQuery Validation插件进行验证的字段(有些还添加了用于自定义验证的方法)。 您如何规避使用指定提交控件的验证(换句话说,使用某些提交输入进行验证,而不使用其他提交输入进行验证)? 这将类似于带有标准ASP.NET验证程序控件的ValidationGroups。 我的情况: 它与ASP.NET WebForms一起使用,但是如果您愿意,可以忽略它。 但是,我更多地将验证用作“建议”:换句话说,提交表单时,验证会触发,但不是显示“必填”消息,而是“建议”显示的内容与“您”相似错过了以下领域。...您是否仍要继续?” 此时,在错误容器中,现在可以看到另一个提交按钮,可以按下该按钮,它将忽略验证并仍然提交。 如何绕过此按钮控件的表单.validate()并仍然发布? http://jquery.bassistance.de/validate/demo/multipart/上的“购房”示例允许这样做,以命中先前的链接,但这是通过创建自定义方法并将其添加到验证器来实现的。 我希望不必创建自定义方法来复制验证插件中已经存在的功能。 以下是我现在可以立即使用的脚本的简化版本: var container = $("#<%= Form.ClientID %> div.validationSuggestion"); $
  • MVC2:如何读取操作链接的控件值?(MVC2: How can I read control values for an action link?)
    问题 我将一些模型信息传递给 ActionLink,但我还想为操作提供页面上某些输入的值。 例如,如果我有这样的事情: <input Name="MyInput" /> <%: Html.ActionLink("MyAction", "MyController", Model.Value); 我希望该操作能够同时了解 Model.Value(通过参数传入)和 MyInput 的值。 通常我会使用 FormCollection,但在这种情况下我不能,因为我没有进行提交。 那么如何将 MyInput 的值传递给 MyAction 呢? 我是否必须将名为 MyInput 的属性添加到我的模型中? 假设这可行,有没有更简单的方法,或者至少有一个不涉及修改模型的方法? 回答1 在 HTML 中没有办法做到这一点,因此在 ASP.NET MVC 中没有办法做到这一点。 有两种可能的解决方案可供您选择: 使用 JavaScript,这样当用户编辑文本框时,您可以动态更改锚标记的值以包含他们输入的内容。您不能为此使用 ASP.NET 路由,因为它在服务器上运行并且您需要客户端代码。 做一个表单提交而不是一个链接。 这是 HTML 中推荐的方式。 当用户提交数据时,它应该是一个表单。 将所有内容包装在一个表单标签中,然后将文本框和一个按钮放在其中。 将表单的操作设置为您希望它发布到的 URL。
  • 用外行的话说,Ruby on Rails ORM 是什么? 请解释(What is Ruby on Rails ORM in layman's terms? Please explain)
    问题 我无法理解 Ruby on Rails 中的 ORM。 据我了解,表/列和对象/属性之间存在 1:1 的关系。 所以每条记录都是一个对象。 究竟什么是模型? 我知道它映射到一张桌子。 我真正追求的是对上述内容的更深入了解。 预先感谢您的帮助 我是一名从 PHP 到 Ruby on Rails 的 Web 开发人员。 回答1 “据我所知,表/列和对象/属性之间存在 1:1 的关系。所以每条记录都是一个对象。” 这并不完全正确,除非您非常松散地使用术语“对象”。 表由类建模,而表记录由这些类的实例建模。 假设您有一个clients表,其中包含列id (autonum) 和name (varchar)。 假设它只有一个记录,id=1 和 name="Ford"。 然后: 数据库表clients将映射到模型类Client 。 该记录将映射到模型实例,这意味着您必须创建该对象并将其分配给一个变量才能使用该记录。 最常见的方法是执行ford = Client.find(1) 表的两列将映射到ford变量上的方法。 你可以做ford.id ,你会得到 1。你可以做ford.name ,你会得到字符串“Ford”。 您还可以通过执行ford.name = "Chevrolet"更改客户端的名称,然后通过执行ford.name = "Chevrolet"提交对数据库的更改。
  • Jquery UI 选项卡打开提交事件(asp.net MVC 3)将 JSON 返回到最终选项卡(Jquery UI tabs switch on submit event (asp.net MVC 3) returning JSON to final Tab)
    问题 我有一个页面,上面有一个 jqueryUI 选项卡。 我有 3 个标签。 前两个选项卡有两个单独的表单 您可以提交一个或另一个,但不能同时提交。 当您提交一个表单时,第三个选项卡会打开,其中包含从回帖中提交的结果。 我有点不确定我会怎么做? 到目前为止,这是我的选项卡控件... <script type="text/javascript"> $(function () { $("#searchPatient").tabs(); }); </script> <div id="searchPatient" style="display:inline; float:inherit"> <ul> <li><a href="#searchByMRN">Search By MRN</a></li> <li><a href="#searchByDemographics">Search By Demo</a></li> <li><a href="#retTable">Return Table</a></li> </ul> @Html.Partial("_SearchByMRN") @Html.Partial("_SearchByDemographic") @Html.Partial("_RetTable") </div> 如您所见,我的设置有点简单。 这些 Partial
  • 维护ASP.NET MVC中复选框动态列表的状态(Maintain state of a dynamic list of checkboxes in ASP.NET MVC)
    问题 我有一个名为“ PropertyFeature”的类,其中仅包含PropertyFeatureID和Description。 这是通过LINQ to SQL创建的映射到SQL Server数据库表的适当模型。 一个示例实例/行将是: PropertyFeatureID: 2 Description: "Swimming Pool" 行数(PropertyFeatures)当然可以增加和缩小,因此我想动态呈现复选框列表,以便用户可以选择其中的任何一个。 我可以通过以下方式轻松轻松地动态呈现Checkbox: <%foreach (var Feature in (ViewData["Features"] as IEnumerable<MySolution.Models.PropertyFeature>)) { %> <%=Html.CheckBox("Features", new { @id = Feature.PropertyFeatureID, @value = Feature.PropertyFeatureID })%><label for="Feature<%=Feature.PropertyFeatureID%>"><%=Feature.Description%></label> <%}%> 我为每个复选框指定ID,并呈现匹配的标签