Tag: razor

如何根据ViewBag的值调用javascript方法

我正在研究小型mvc应用程序,在我的视图中有一个tab控件,它有3个选项卡,根据ViewBag值,我需要打开我的第三个选项卡,这里是我的视图的外观图像: 因此,当加载View时,我需要检查我的ViewBag的值,并根据我需要打开我的TAB 3,所以这是我尝试过的: @if (ViewBag.SuccessBody == null) { TAB 1 TAB 2 TAB 3 } else { TAB 1 TAB 2 TAB 3 } 正如你可以看到人们依赖于一个值ViewBag.SuccessBody我试图加载相应的HTML,所以如果有一个值,那么我将加载包含TAB3的HTML自己的class=”active” (请阅读详细的代码)。 但不幸的是,这种方法,TAB3变得活跃但不开放,所以它的内容不可见,它在TAB1上保持正常,而TAB3看起来像是活跃的,这很糟糕:(。 所以我做的是: 我写的javasscript方法应该真的打开TAB3,但是我不知道如何调用它所以我想我可以在我的li元素上使用onload方法调用它,所以你可以在上面的代码中看到我在li上写的 onload=”RedirectToTab();” 但不幸的是没有任何事情发生.. 这里是我的RedirectToTab javascript方法的定义: function RedirectToTab() { var customVal = $(“#editViewBag”).val(); if (customVal == ‘True’) { $(‘#myTab a[href=”#tab_content3″]’).tab(‘show’); } } 那么伙计,我怎么能打开TAB3取决于我的ViewBag的vaue? 谢谢你们干杯

FormCollection不包含在MVC Razor中添加的控件

在我看来,我有一个下拉列表,我通过Ajax调用填写。 此下拉列表在表单内。 但是在提交时,我没有在formCollection中看到这个控件。 还有一件事,或者当我尝试添加Html.DropDownList(“AccountId”)时,我得到错误 – 没有类型为’IEnumerable’的ViewData项具有键’AccountId’。 列出我的视图和控制器代码…… – 视图 – using (Html.BeginForm(“GetNames”, “Account”, FormMethod.Post, new { id = “accountParameters” })) { …. …. //This is not available in formcollection //Html.DropDownList(“AccountId”); //This throws exception @: } … … $(document).ready(function () { $.ajax({ url: ‘/Account/GetAccounts’, type: “GET”, success: function (result) { for (i = 0; i < […]

使用mvc 3 razor cshtml中的konckout.js创建一个带按钮的网格

大家好我想在mvc 3 razor中使用konckout.js创建网格,我有3列网格第一列应该是按钮,其余列应该从控制器获取数据。事情就是我能够实现所有这一切,但我无法将class或id属性设置为grid中的按钮。我希望该类为“select”,因为按钮的id应该是后续列中的值,以便我可以执行一些客户端脚本使用jquery。 我的cshtml页面是 Buttons 我的viewModel是这样的 var OfficeGrp = function(){ var self =this; self.name = ko.observable(); self.location = ko.observable(); } var OfficeVM = function () { var self = this; self.Office = ko.observableArray([new OfficeGrp()]); self.column1= ko.observable(“Name”); self.column2= ko.observable(“Location”); self.RadioBtnActive = function () { var self = this; self.Office.removeAll(); $.getJSON(urlContent + “Office/GetOfficeGrid”, { param: “true” }, […]

无法加载资源:未捕获的TypeError:$(…)。select2不是函数

所以我的MVC应用程序在呈现我的视图时继续抛出状态代码为500的Http内部服务器错误。 抛出的错误是JQuery“Uncaught TypeError:$(…)。select2不是函数” Uncaught TypeError: $(…).select2 is not a function at HTMLDocument. (AddUser:381) at fire (jquery-1.11.0.js:3100) at Object.fireWith [as resolveWith] (jquery-1.11.0.js:3212) at Function.ready (jquery-1.11.0.js:3424) at HTMLDocument.completed (jquery-1.11.0.js:3454) 使用调试工具,它会抛出错误: $(‘selectUser’).select2(); 这就是我调用脚本的方式: @section Scripts { @Scripts.Render(“~/bundles/forms”) $(document).ready(function () { $(‘selectUser’).select2(); }); 一些SOpost表明,当您在脚本标记中省略type=”text/javascript”或者在引用CDN服务之前调用select2函数时会导致此错误,但是因为它清楚地显示在我的代码上所有关于前述。 根据这个Uncaught TypeError:$(…)。select2不是一个函数 ,我被告知确保我有一个版本的JQuery加载,一切似乎都没问题 以下是我的View中的一些额外代码,有助于重现问题: function submitForm() { var usersRoles = new Array; jQuery(“#dualSelectRoles2 option”).each(function () […]

如何使用ASP.NET MVC3编辑嵌套模型

我希望在ASP.NET MVC3中执行类似于Railscasts Episode#196和Railscasts Episode#197的操作 。 我有两个模型和Order和LineItem , Order包含至少一个LineItem 。 当用户创建订单时,我将使用一个LineItem条目编辑器设置表单(我已经为此创建了一个EditorTemplate,并且工作正常。我想使用jQuery为LineItem动态添加更多编辑器。 public class Order : EntityObject { public string CustomerName { get;set; } public EntityCollection LineItems { get;set; } } public class LineItem : EntityObject { public long ProductId { get;set; } public string Description { get;set; } public double Quantity { get;set; } } 这样做的正确方法是什么?

从列表框更改事件的Ajaxpost上的模型属性null

我有一个包含列表框的视图。 当用户点击列表框中的项目时,我必须发布到控制器操作方法,以查看列表框中选定/取消选择的项目的值。 因此它会发布到控制器操作,但模型将发布为null。 当我发布到控制器时,我会对表单进行序列化。 在我的应用程序的其他页面中,当我序列化表单并发布到控制器时,模型永远不会为空。 我不确定这个页面是怎么回事,但这里是代码。 JS档案 var serviceEntryURL = ‘@Url.Action(“ServiceSystemSelection”, “ServiceEntry”)’; $(‘#systemlstbox’).change(function () { // alert(‘x’); var overlay = $(‘loading errorcodes and parts..’).prependTo(‘body’).attr(‘id’, ‘overlay’); $.post(serviceEntryURL, $(“#form”).serialize(), function (data) { // $(“#runDatestreeview”).remove(); // $(“#testExceptiontreeview”).remove(); // $(“#treeview”).remove(); // $(“#main”).html(data); // $(“#ErrorCodeDisplay”).empty(); }, “html”); overlay.remove(); }); 视图 @model RunLog.Domain.Entities.ServiceEntry @{ ViewBag.Title = “Create”; Layout = “~/Views/Shared/_Layout.cshtml”; } […]

如何为MVC EditorFor设置货币格式?

我必须使用货币格式显示项目金额的页面。 第一个是输入货币的地方,第二个是货币显示的地方。 我希望EditorFor显示一个R表示Rands然后我希望该值为十进制。 这是我的EditorFor: @Html.EditorFor(model => model.TransactionModel.Price) 我尝试了很多不同的方法,无法工作。 通过下面的这个例子,它不知道第二行中的’CurrencyPrice’是什么。 var CurrencyPrice = ‘@Model.TransactionModel.Price’; document.getElementById(‘TransactionModel.Price’).value = ‘@string.Format(“{0:C}”, CurrencyPrice)’; 我也在我的transactionModel中尝试了这些: //[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = “{0:c}”)] //[UIHint(“Currency”)] //[DisplayFormat(DataFormatString = “{0:F2}”, ApplyFormatInEditMode = true)] //[DataType(DataType.Currency)] public decimal Price { get; set; } 有人可以告诉我,我怎么能做到这一点? 现在我将接受任何工作方法。

MVC3 Razor JQuery客户端validation带有一个额外的警告框

我被要求创建一个登录表单,当用户输入未通过validation时,它会弹出一个警告框。 我使用基于模型的validation连接所有内容。 例如: public class LogonViewModel { [Required( ErrorMessage = “User Name is Required”)] public string UserName { get; set; } [Required( ErrorMessage = “Password is required”)] public string Password { get; set; } } 我在页面上有一个validation摘要: Html.ValidationSummary() 我希望摘要在页面上,以防用户关闭javascript。 但是,如果客户端validation触发,我还想捕获validation事件并将错误放入警报框,就像我被问到的那样。 我的表格基本上是…… @Html.ValidationSummary() @using (Html.BeginForm(null, null, FormMethod.Post, new { id = “loginForm” })) { username: @Html.TextBoxFor(m => […]

从jquery ajax将模型传递给Controller

如何将模型传递给j​​query ajax我的代码id’@ Model’是view的模型。我需要将此模型传递给接受类型为login model的参数的控制器。 $(‘#reject1’).click( function() { var model=@Model; $.ajax({ cache:true, type: “POST”, url: “@(Url.Action(“Login”, “Customer”))”, data:’model=’+model, success: function() { //Some logic }, complete : function() {} }); return false; }); 上面的代码不起作用

Razor中非常基本的jquery日期选择器

我在visual studio 2010 MVC4 razor microsoft模板中。 我从jquery站点下载了jquery“kit”,它在我打开index.html时可以正常工作。 但是,当我将我的剃刀项目改为看起来像jquery下载(将所有JS文件,图像和css文件移动到正确的位置)并添加以下代码(在html情况下工作) jQuery UI Example Page $(function () { // Datepicker $(‘#datepicker’).datepicker({ inline: true }); }); Datepicker 对于文本Datepicker,页面上没有显示任何内容。 我已经查看了其他所有内容,似乎没有什么可以做到的。 有什么建议?