草庐IT

razor-declarative-helpers

全部标签

c# - Asp.net Mvc、Razor 和本地化

我知道这个问题已经在这些页面上提到过很多次了,但我仍然没有找到我需要找到的“好的解决方案”。让我们开始解释吧。.net和mvc中的本地化是通过两种甚至可以混合在一起的方式进行的:资源文件(本地或全局)使用View引擎本地化View以根据文化调用适当的View我将解释我尝试过的解决方案以及我遇到的所有问题。资源文件中的文本,View中的所有标签这个解决方案会让我把每个文本都放在资源中,每个标签都放在View中,甚至是[strong]或[span]这样的内联标签。优点:清晰的分离,在本地化中没有任何结构。轻松编码:从资源返回的所有内容都经过html编码。缺点:如果我有一个包含一些强项、几个

c# - 嵌套的 if 语句混淆了 Razor

我正在尝试设置从数据表中提取的下拉菜单。这适用于第一级菜单。工作代码:@foreach(System.Data.DataRowdrinmenu.Rows){if(Level1!=dr["Level1"].ToString()){@dr["Level1"].ToString()Level1=@dr["Level1"].ToString();}}当我尝试添加嵌套的if语句时出现问题。如果将此代码放入VisualStudio,您会注意到Razor无法识别@foreach循环的右括号。代码中断:@foreach(System.Data.DataRowdrinmenu.Rows){if(Leve

javascript - 在 Razor 语法中嵌入javascript变量

我有一个看起来像这样的方法functionendcall_click(leadid){document.location='@Url.Action("index","dispo",new{id=leadid})/';}当然它不起作用,因为它将“leadid”视为服务器端变量,但我想注入(inject)传递到方法中的javascript变量。我尝试将潜在客户ID包装起来,但没有用。functionendcall_click(leadid){document.location='@Url.Action("index","dispo",new{id="leadid"})/';}有什么想法吗?

c# - 将模型分配给 Razor 中的 Javascript 变量

我有一个绑定(bind)到对象的强类型View,该对象包含一些对象的集合(列表)。我知道Razor在生成页面时在服务器端执行,而Javascript变量直到页面显示后才被实例化......但是是否有可能以某种方式转换模型(View绑定(bind)到)或其任何字段到Razor中的JSON,而无需诉诸AJAX调用来获取该数据?你知道,像...varmyJavascriptVariable=@Model.MyCollection其中@Model.MyCollection是一些对象的列表。谢谢 最佳答案 要获取json数据,您可以使用以下构

javascript - ES7 类 : Declaring Properties Outside of Constructor

在构造函数内部和外部声明变量有什么区别吗?对于函数,'this'的绑定(bind)不同,但对于变量,我不知道是否存在差异。classWidget{constructor(constructorName){this.constructorName=constructorName;}nonConstructorName="nonConstructorName1";}varmyWidget=newWidget("myConstructorName1");console.log(myWidget.constructorName);//"myConstructorName1"console.lo

c# - 从模型中的嵌套对象获取 MVC4/Razor 中 JavaScript 元素的 ID

如果我这样定义一个文本框:@Html.TextBoxFor(m=>m.Contact.HomePhone)它将生成一个input元素,带有idContact_HomePhone。是否可以在JavaScript中获取此id而无需对Contact_HomePhone进行硬编码?这是我在JavaScript中动态需要此id的示例:$("#Contact_HomePhone").mask("(999)999-9999");(我知道如何使用反射获取属性名称,但仍然需要硬编码_以连接Contact和HomePhone。) 最佳答案 尝试这种方式

javascript - 从js代码赋值给mvc razor的隐藏字段

如果我在razorView中已经定义了隐藏字段,例如@Html.HiddenFor(m=>m.MyHiddenId)我如何从内联js代码填充它varsomeNr=100;howtoassignthissomeNrvaluetom.MyHiddenIdproperty? 最佳答案 向@Html.HiddenFor添加显式id属性@Html.HiddenFor(m=>m.MyHiddenId,new{id="hat"})然后使用jQuery:varsomeNr=100;$('#hat').val(somNr);对于那些没有jQuery的

javascript - meteor .js : how to call helper method from event?

我怀疑我没有按照Meteor的方式来做这件事。我正在制作一个共享的交互式日历。我有一个日历模板:Calendar{{#eachdays}}{{>day}}{{/each}}使用返回日期对象的助手:{date:thisDate.getDate(),dateString:dateString,done:done,today:isToday}我有一天模板:{{date}}有一些帮助者(meetingID目前为开发硬编码):Template.day.helpers({state:function(){//retreivefromDBvars=Meetings.findOne({"_id":me

Razor View Engine 子页面中的 Javascript Intellisense

我正在寻找一种方法,让我在“主”cshtml文件中引用的.js文件传递​​给“子”cshtml文件。我在主文件中有这样的东西,所以.js文件总是被引用(事实上我在主文件中得到了js智能感知):if(false){}但是,当我像这样在“子”页面中引用master.cshtml文件时:@{Layout="~/Views/Shared/master.cshtml";}我没有javascriptintellisense。我真的不想将脚本标签放在每个子页面的顶部,有很多脚本标签,还有很多子页面! 最佳答案 Razor编辑器现在无法推断正在使用

javascript - 使用 IE9、Visual Studio 2010、MVC3 和 Razor 语法调试 Javascript

我正在尝试使用IE9和VS2010进行javascript调试。我在IE9中启用了调试。我已确保在项目设置中禁用了Silverlight调试。并在我的(Razor语法MVC3)代码中放置了一个断点。当我运行它时没有任何反应:/这种情况已经发生了几个月,并且发生在许多项目中,所以这不仅仅是因为从未达到断点或一些愚蠢的基于代码的事情。我试过:卸载并重新安装IE9。确保我拥有最新的MVC工具,以便Razor编辑器是最新的。只需要最少的代码。遵循我能找到的所有“指南”(这些只是我上面所做的变体)。在同事的机器上做同样的事情,它起作用了。使用“调试器”手动设置断点。这会导致出现“选择你的调试器”