- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 http://gridmvc.azurewebsites.net/ 上提供的 Grid.MVC ,它提供了在网格中很好地显示数据的功能,很好地完成了过滤、排序、分页。这是 Grid 中的数据目前的样子。
到目前为止,一切都很好。为了显示我使用以下 Controller 和 .cshtml 的数据
Controller
/// <summary>
/// Brings List Of Customers
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult CustomerList()
{
CustomerListViewModel custList = new CustomerListViewModel();
List<CustomerViewModel> custVMList = new List<CustomerViewModel>();
custVMList = custRepository.GetCustomers();
custList.customers = custVMList;
return View(custList);
}
@model IEnumerable<DataAccess.Models.CustomerViewModel>
@*Using Twitter Bootstrap API*@
<link href="@Url.Content("~/Content/Gridmvc.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/gridmvc.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/js/bootstrap.min.js")" type="text/javascript"> </script>
<link href="@Url.Content("~/Content/bootstrap/css/bootstrap.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/bootstrap/css/bootstrap-responsive.min.css")" rel="stylesheet" type="text/css" />
@using GridMvc.Html
@{
ViewBag.Title = "Customers List";
}
@Html.Grid(Model).Columns(columns =>
{
columns.Add(m => m.CustomerName).Titled(" Name ").Sortable(true).SortInitialDirection(GridMvc.Sorting.GridSortDirection.Ascending).Filterable(true);
columns.Add(m => m.Address1).Titled("Address1").Sortable(true).Filterable(true);
columns.Add(m => m.Address2).Titled("Address2").Sortable(true).Filterable(true);
columns.Add(m => m.City).Titled("City").Sortable(true).Filterable(true);
columns.Add(m => m.County).Titled("County").Sortable(true).Filterable(true);
columns.Add(m => m.ContactName).Titled("Contact Name").Sortable(true).Filters.ToString();
columns.Add(m => m.Email).Titled("Email Address").Sortable(true).Filterable(true);
columns.Add(m => m.ReferenceNumber).Titled("Reference Number").Sortable(true).Filterable(true);
columns.Add(m => m.ModifiedOn).Titled("Modified On").Filterable(true).Sortable(true);
columns.Add(m => m.CustomerId)
.Titled("Edit")
.Sanitized(false)
.Encoded(false)
//.RenderValueAs(o => Html.ActionLink("Edit", "EditCustomer", "Customer", new { CustomerId = o.CustomerId }, new { title = "Please click here to edit the record", @class = "modal-link" }).ToHtmlString());
.RenderValueAs(d => Html.ActionLink("Edit", "EditCustomer", "Customer", new { CustomerId = d.CustomerId }, new { @class = "modal-link" }));
}).WithPaging(4)
<br />
<br />
@Html.ActionLink("Click to Add Customer", "AddCustomer", "Customer", new { @class = "modal-link" })
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
×</button>
<h3 id="myModalLabel">
Edit Customer</h3>
</div>
<div class="modal-body">
<p>
Loading…</p>
</div>
<div class="modal-footer">
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">
Close</button>
</div>
</div>
<script type="text/javascript">
//this script reset modal each time when you click on the link:
$(function () {
$(".modal-link").click(function (event) {
event.preventDefault();
$('#myModal').removeData("modal");
$('#myModal').modal({ remote: $(this).attr("href") });
});
})
</script>
/// <summary>
/// Brings a Specific Customer
/// </summary>
/// <param name="CustomerId"></param>
/// <returns></returns>
[HttpGet]
public ActionResult EditCustomer(Guid CustomerId)
{
CustomerViewModel cusVM = custRepository.GetCustomer(CustomerId);
return View(cusVM);
}
/// <summary>
/// Editing Customer
/// </summary>
/// <param name="cusVM"></param>
/// <returns></returns>
[HttpPost]
public ActionResult EditCustomer(CustomerViewModel cusVM)
{
if (ModelState.IsValid)
{
custRepository.EditCustomer(cusVM);
return RedirectToAction("CustomerList", "Customer");
}
else
{
return PartialView(cusVM);
}
}
@model DataAccess.Models.CustomerViewModel
@{
Layout = null;
}
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.CustomerName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CustomerName)
@Html.ValidationMessageFor(model => model.CustomerName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address1)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address1)
@Html.ValidationMessageFor(model => model.Address1)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Address2)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Address2)
@Html.ValidationMessageFor(model => model.Address2)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.City)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.City)
@Html.ValidationMessageFor(model => model.City)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.County)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.County)
@Html.ValidationMessageFor(model => model.County)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ContactName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ContactName)
@Html.ValidationMessageFor(model => model.ContactName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
<div>
@Html.HiddenFor(model => model.CustomerId)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ReferenceNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ReferenceNumber)
@Html.ValidationMessageFor(model => model.ReferenceNumber)
</div>
<p>
<input type="submit" value="Save" class="btn btn-primary" />
</p>
</fieldset>
}
using System.ComponentModel.DataAnnotations;
using System;
namespace DataAccess.Models
{
/// <summary>
/// Class Holds the List Of Properties of a Customer
/// </summary>
public class CustomerViewModel
{
[Required]
[DataType(DataType.Text)]
[Display(Name = "Customer Name")]
public string CustomerName { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "Address1")]
public string Address1 { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "Address2")]
public string Address2 { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "City")]
public string City { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "County")]
public string County { get; set; }
[Required]
[DataType(DataType.Text)]
[Display(Name = "ContactName")]
public string ContactName { get; set; }
[Required]
[DataType(DataType.Date)]
[Display(Name = "Email")]
public string Email { get; set; }
[DataType(DataType.Text)]
public Guid CustomerId { get; set; }
[DataType(DataType.Text)]
public string ReferenceNumber { get; set; }
[DataType(DataType.Date)]
public DateTime ModifiedOn{ get; set; }
}
}
最佳答案
您需要更仔细地查看 AJAX 验证和客户端验证。基本上正在发生的事情是您正在加载的包含您的编辑表单的部分 View 没有绑定(bind)到它的验证,因为它是在初始页面加载后加载的。您可以尝试将此添加到您的页面(JQuery):
$.validator.unobtrusive.parse('#formId');
关于asp.net-mvc-3 - 在 ASP.NET MVC3 中使用 Grid.MVC 编辑记录的弹出对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594915/
我必须使用 gridExtra::grid.arrange 来绘制除彼此之外的多个图,因为我使用该包来创建图的拟合。 我必须使用 grid.arrange 为绘图创建一个标题。 现在我想将两者结合起来
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
在我的农业网格的每一行中。我需要在每一行 ag-grid 中添加 Angular Material 图标按钮。但是,结果只显示了文本按钮。它不会在我的农业网格中显示我的图标按钮。 接下来,我需要在我的
我正在尝试使用 JSON 数据填充 KendoUI 网格,其中服务器返回总行数以及数据,但是我在让 serverPaging 正常工作时遇到了一些问题。我创建并分配网格的数据源如下:
Kendo 网格在网格加载、分页、排序时自动提供自己的加载指示器。它工作正常。 但我不希望显示/隐藏此内置加载指示器。 如何禁用此功能? 请建议我。 谢谢, 维诺特 最佳答案 很简单,只需用 CSS
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正在尝试将noDataMessage设置为dojox.grid.EnhancedGrid,网格工作正常,当商店获取数据时它显示它是行,没有问题,但是我需要当商店没有数据时网格将向我显示个性化消息。我
我的 ExtJS 6 框架有问题。当我使用 Ext.grid.Panel 时它可以工作,但我想使用 Ext.grid.Grid 。 Ext.grid.Panel 和 Ext.grid.Grid 有什么
我看到有几种风格的网格。当记录很大时,人们建议使用 Angular UI Grid 而不是 Datatables。 我认为数据表正在按 1 填充每一行并导致性能问题。 是否无法修复类似于其他网格的数据
是否有人有在 Grid Engine/Sun Grid Engine/Son of Grid Engine 上运行 Docker 的经验,并且能够 monitor the resource used
我一直在阅读 CSS Grid tutorial在 CSS Tricks 中,但一个基本方面让我有点困惑。 似乎有两种方法可以决定一个网格元素跨越多少个单元格: grid-template-area使
调整 ag-Grid 的大小(更改浏览器窗口的大小)并在两个选项卡之间切换时收到以下警告: ag-Grid: tried to call sizeColumnsToFit() but the grid
我正在尝试在 python 2.7 中构建一个 5x5 网格的游戏板,表示为二维列表。我尝试将其写为 board = [["O"]*cols]*rows (cols 和 rows 已声明为 5)但是当
AgGrid 日期筛选器的格式是mm/dd/yyyy,但我想将其更改为yyyy/mm/dd 我该怎么做?日期过滤器是网格的 columnDefinition 的一部分,我在其中使用 filter: '
我有一个基本的 ag-grid 和一些简单的虚拟数据,但它只在我不导入库提供的 .css 文件时显示,即使这样它也显示不正确。 摘 self 的 package.json: "ag-grid": "1
我有一个标准的单元格编辑器,当我处于编辑模式时,单元格编辑器的宽度和高度不是单元格的完整宽度和高度。 我应该覆盖样式还是配置中有任何标志可以关闭此效果? 最佳答案 我有同样的问题。如果您查看 DOM,
概览 以前在 ag-grid 版本 <10.1.0 中,可以通过这种方式在不刷新网格的情况下添加一行: let model: IRowModel = this.gridOptions.api.getM
是否可以合并 wx.grid 中相邻的单元格?我的意思是水平作为一行中的单元格和垂直作为一列中的单元格。 最佳答案 有一种方法可以让文本跨越网格小部件中的多行或多列。 wxPython 演示中有一个名
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
谷歌搜索了很多没有任何结果...按下回车键时网格的默认行为是向下移动光标。但我必须使单元格编辑器在当前单元格中打开。我可以轻松 Hook 关键事件,但如何打开编辑器? 最佳答案 import wx i
我是一名优秀的程序员,十分优秀!