Tag: asp.net mvc 3

HttpContext.Current.Request.Form复选框

我将我的表单发布到MVC控制器,我希望处理用户在网格上进行的一些更改,如html结构。 我的每个行的View中都有复选框呈现为简单的HTML: 我想知道如何在AJAXpost后检索复选框值。 我试图使用以下来检索 HttpContext.Current.Request.Form[“cbxR1”] 无论是否选中了复选框,我总是得到一个null。

如何在MVC 3中的Request.Form集合中访问未经validation的项目

我在.NET 4.0中使用ASP.NET MVC 3。 我有一个模型,其中一个属性要求允许HTML内容。 我在我的模型属性上放置了AllowHtml属性,该属性允许在该属性上使用HTML。 这本身就有效。 我也在我网站的其他部分使用Uploadify flash上​​传程序。 由于flash和会话的问题 ,我使用的代码类似于swfupload示例中的代码,以允许我的文件上传访问会话数据。 基本上我直接在Application_BeginRequest处理程序中访问Request.Form集合。 我遇到的问题是,当提供HTML的表单被提出时,当Application_BeginRequest处理程序中的代码访问Request.Forms[key]集合时,我得到一个HttpRequestValidationException 。 就像我在开始时说的那样,我尝试过AllowHtml属性。 我还尝试使用ValidateInput(false)属性在动作和控制器级别禁用validation,但我相信我在请求生命周期中对于那些要应用的人来说太早了。 无论如何都要访问包含“潜在危险”数据的Request.Form集合而不禁用整个站点的请求validation?

应该使用MVC在每个View中使用ViewModel吗?

我知道您使用ViewModel来存储要在View中使用的其他模型和源的不同数据,因为模型不会始终保持您想要的。 我想弄清楚是否适合为每个View使用ViewModel。 我问的原因是出于一致性原因。 您可以拥有一个只需要Model本身的View和另一个必须拥有ViewModel的View。 在所有视图之间混合这些是否很好? 或者每个View都应该有一个ViewModel? 这很重要,因为我的模型与数据库直接相关,因为我正在使用Entity Framework 4.1 Code First。

从自定义模型活页夹调用默认模型活页夹?

我编写了一个自定义模型绑定器,它应该根据当前的文化来映射来自URL-Strings(GET)的日期(这里的旁注:如果你使用GET作为http-call,默认的模型绑定器不会考虑当前的文化…)。 public class DateTimeModelBinder : IModelBinder { #region IModelBinder Members public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { if (controllerContext.HttpContext.Request.HttpMethod == “GET”) { string theDate = controllerContext.HttpContext.Request.Form[bindingContext.ModelName]; DateTime dt = new DateTime(); bool success = DateTime.TryParse(theDate, System.Globalization.CultureInfo.CurrentUICulture, System.Globalization.DateTimeStyles.None, out dt); if (success) { return dt; } else { return null; } } return null; // Oooops… […]

T4MVC或MvcFutures用于视图中的强类型链接

我试图减少/消除我的MVC3项目中的“魔术字符串”,并想知道哪种方法会更好: 使用MvcFutures并执行以下操作: var title =“创建新客户”; Html.ActionLink (c => c.Create(),title,new {@class =“button”,title = title}); 使用T4MVC 哪个选项更灵活,性能更高,重构时更容易等等? 思考?

显示多列复选框列表

我目前正在显示我的复选框列表,如下所示: foreach (var employee in Model.Employees) { @Html.CheckBox(employee.Name); } 如果你想要一个长列的复选框,这很好,但是我的列表变长,所以我想在2或3列中显示它。 是否有捷径可寻? 我知道我可以创建一个表,然后为一个列的Employees的前半部分放入一个for循环,然后在另一个列中为另一半的Employees循环另一个for循环。 但这似乎是如此原始,必须有一种更简单,更清洁的方式。

在基于C#中的存储过程执行查询后,如何为CommandText重用SqlCommand对象?

我有一个示例代码 aCommand.CommandType = CommandType.StoredProcedure; aCommand.Parameters.AddWithValue(“@book_id”, bookID); aCommand.Parameters.AddWithValue(“@user_id”, userID); 之后我想使用CommandText执行一个简单的查询: aCommand.CommandText = “SELECT * FROM aTABLE”; aCommand.ExecuteNonQuery(); 但是错误发生了: 例外:找不到存储过程’SELECT * FROM aTABLE’ 在这种情况下,我必须创建一个新的SqlCommand对象实例? 这是一种使用相同的SqlCommand对象来避免创建一个的方法吗?

如何使用带复选框和下拉菜单的自动回发function?

我有一个Web流(asp.net),它有一个下拉菜单和一个复选框。 勾选复选框后,我需要禁用该表单中的某些字段。 从复选框中选择特定值时,我需要禁用其他字段。 我指定了这样的复选框: 和下拉这样: <%= Html.MyDropDownList(string.Format("Questions[{0}].Answer", i), (IEnumerable)ViewData[“Periods”], Model.Questions[i].Answer)%> 其中MyDropDownList是Html.DropDownList的扩展 我听说过自动回发 – 但不确定如何使用它 – 任何建议都会很棒! 我正在使用ASP.NET MVC 3。 谢谢! – L.

使用SignalR Hubs,连接会在一段时间后丢失 – 为什么?

在我的SignalR应用程序中,回调在页面上按预期触发。 如果页面停留一段时间,则在刷新之前不再在该页面上调用回调。 我怀疑这可能是由于网站的会话到期(使用客户端的会话ID来调用客户端通知)。 我在这里阅读了关于KeepAlivefunction的信息,并且可以在SignalR代码中看到它的一些引用。 我不清楚是否需要实施客户端keep-alive,如果需要,如何实现?

Telerik MVC Grid Ajax具有手动绑定function

我有一个使用ajax获取数据的Telerik MVC Grid,我想控制何时加载它。 这是我视图中的代码: @(Html.Telerik().Grid() .Name(“UserActionLoggingFollowedGrid”) .DataBinding(dataBinding => dataBinding.Ajax().Select(“SelectUserActionLogging”, “Report”, new { userTeamId = Model.UserTeamId, startDate = Model.StartDate, endDate = Model.EndDate }).OperationMode(GridOperationMode.Client)) .Columns(columns => { columns.Bound(x => x.FullName).Hidden(); columns.Bound(x => x.ActionName); columns.Bound(x => x.ActionCount); }) .Pageable(page => page.PageSize(20)) .Sortable() .Groupable(grouping => grouping.Groups(groups => groups.Add(c => c.FullName)).Visible(false)) .Filterable() .Localizable(“fr-FR”) .HtmlAttributes(new { @class = “grid-style static-grid-style” }) […]