标签: razor-2

将自定义类添加到ASP.NET MVC 4中的单选按钮

我正在尝试将Bootstrap类添加到一组单选按钮.

@Html.RadioButtonFor(model => model.Male, !Model.Male) Female
@Html.RadioButtonFor(model => model.Male, Model.Male) Male
Run Code Online (Sandbox Code Playgroud)

只是似乎没有找到正确的方法.任何帮助赞赏.谢谢

asp.net-mvc asp.net-mvc-4 razor-2 twitter-bootstrap-3

3
推荐指数
1
解决办法
9697
查看次数

如何在jquery中获取HiddenFor控件的值

我有一个隐藏的控制权

@Html.HiddenFor(m => m.SchedulingProfileDetails.Id)
Run Code Online (Sandbox Code Playgroud)

我试图在我的jquery中访问此隐藏字段中的值,然后尝试将值传递给控制器

  var id = $("#SchedulingProfile_Id").val();

                        $.ajax({
                            url: rootUrl + 'SchedulingProfile/SaveDetails',
                            type: "POST",
                            data: ({
                                schedulingProfileId: schedulingProfileId, 
                                   });
Run Code Online (Sandbox Code Playgroud)

但我在id中获得null值.请帮帮我

javascript jquery asp.net-mvc-3 razor-2

3
推荐指数
1
解决办法
2万
查看次数

升级到Razor 2/RE 3.2后,RazorEngine扩展方法因RuntimeBinderException而失败

我有一个RazorEngine项目,在升级到Razor 2.0和RazorEngine 3.2.0之后失败了

这在之前基于Razor 1.0的RazorEngine版本(3.0.8)中运行良好.

我有myInstance一个class(MyClass)的实例()和扩展方法:

namespace MyCompany.Extensions 
{
    public static class MyClassExtensions
    {
        public static string ExtensionMethod(this MyClass thing) 
        {
            // do stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在RazorEngine视图中调用它(简化示例,有很多这些方法,并且都以相同的方式失败):

@using MyCompany.Extensions
@using MyCompany
@{
    var myInstance = new MyClass(Model, ...);
}

Some text @myInstance.ExtensionMethod() some more text
Run Code Online (Sandbox Code Playgroud)

这是由RazorEngine编译的文本文件:

string parsedResult = RE::Razor.Parse(fileContent, myModel, "testfile.txt");
Run Code Online (Sandbox Code Playgroud)

问题是这条线(曾经工作过)抛出RuntimeBinderException:

'MyCompany.MyClass'不包含'ExtensionMethod'的定义

请注意,如果我将文本文件更改为:

Some text @MyClassExtensions.ExtensionMethod(myInstance) some more text
Run Code Online (Sandbox Code Playgroud)

它工作正常,所以我认为它必须找到扩展方法的命名空间.

我的第一个想法是它必须将传递的模型视为一个dynamic(因此也是从它衍生出来的任何东西dynamic),但它知道了预期的类型RuntimeBinderException.由于异常是运行时我认为在编译模板时必须无法识别扩展方法,但为什么会发生变化?

我不确定3.0.8和3.2.0之间有什么变化,或者为什么会这样.我需要添加一些东西,以便在编译模板时找到扩展方法吗?

extension-methods razor razor-2

2
推荐指数
1
解决办法
1132
查看次数

EditorTemplate Collection模型类的命名约定

我有一个声明为类型的模型属性List<MyClass>.

public class MyModel
{
    List<MyClass> MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够使用Razor模板显示/编辑属性.我的问题是,我如何命名EditorTemplate视图,以便我可以使用普通语法显示属性:

@model MyModel
@Html.DisplayFor(m => m.MyProperty)
Run Code Online (Sandbox Code Playgroud)

我知道我可以创建一个名为MyClass.cshtml的视图,用于该类型MyClass,但如何为列表创建模板?

asp.net-mvc mvc-editor-templates razor-2

2
推荐指数
1
解决办法
545
查看次数

为什么ASP.NET View Engine会检查.Mobile.chstml视图路径?

对于我的ASP.NET MVC 4项目,我正在尝试实现一个自定义视图引擎来查找文件夹中存在的"Index.cshtml"视图文件.另外,我为所有未找到的视图路径抛出了404.

当视图文件不存在时,404工作.当视图文件存在时,视图引擎将尝试使用FileExists()函数查找.Mobile.cshtml文件.没有.mobile.cshtml文件,因此它会抛出异常.为什么视图引擎在找到非移动文件后仍然会查找.mobile.cshtml文件?

例如,当视图引擎能够在"〜/ Views/About/History/Index.cshtml"中找到视图路径时,它将尝试查找文件"〜/ Views/About/History/Index.Mobile.cshtml ".下面是我的自定义视图引擎的完整代码.

namespace System.Web.Mvc
{
  // Extend where RazorViewEngine looks for view files.
  // This looks for path/index.ext file if no path.ext file is found
  // Ex:  looks for "about/history/index.chstml" if "about/history.cshtml" is not found.
  public class CustomViewEngine : RazorViewEngine
  {
    public BeckmanViewEngine()
    {
      AreaViewLocationFormats = new[] 
      {
        "~/Areas/{2}/Views/{1}/{0}/Index.cshtml",
      };

      ViewLocationFormats = new[] 
      {
        "~/Views/{1}/{0}/Index.cshtml",
      };
    }

    // Return 404 Exception if viewpath file in existing path is not found
    protected override bool FileExists(ControllerContext …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc asp.net-mvc-4 razor-2

2
推荐指数
1
解决办法
1336
查看次数

在MVC中添加两个数字

我想在MVC中添加两个数字.

我的要求是"我在视图中有2个文本框,我必须从中检索数据到控制器"

查看:

@using (Html.BeginForm("Addition", "Addition", FormMethod.Post))
{
    <input id="Text1" type="text" value=@ViewBag.a name="firstNum" />
    <input id="Text2" type="text" value=@ViewBag.b name="secondNum" />
    <input id="Text3" type="text" value=@ViewBag.result />

    <input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)

控制器名称:添加操作名称:添加

[HttpPost]
        public ActionResult Addition(FormCollection fc)
        {
            string[] keyss = fc.AllKeys;
            ViewBag.a = fc.Keys[0];
            ViewBag.b = fc.Keys[1];
            ViewBag.total = ViewBag.a + ViewBag.b;
            return View();
        }
Run Code Online (Sandbox Code Playgroud)

现在,从这个表单集合中我想要检索文本框的值.

谢谢.

asp.net asp.net-mvc asp.net-mvc-4 razor-2

2
推荐指数
1
解决办法
2万
查看次数

ASP.NET MVC Post返回错误的模型值

我有一个简单的post动作,试图从post方法返回一个新模型回到视图.出于某些原因,当我返回新模型时,我总是看到我发布的模型,为什么会发生这种情况?我需要在post动作中更改模型的值并将它们返回给用户但是由于某种原因我无法做到这一点?

public ActionResult Build()
{
    return View(new Person());
}

[HttpPost]
public ActionResult Build(Person model)
{
    return View(new Person() { FirstName = "THX", LastName = "1138" });
}
Run Code Online (Sandbox Code Playgroud)

这是视图代码;

@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>Person</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.FirstName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.FirstName)
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.LastName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.LastName)
            @Html.ValidationMessageFor(model => model.LastName)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}
Run Code Online (Sandbox Code Playgroud)

如果我打开表格并输入"John"作为名字,输入"Smith"作为姓氏并张贴表格我得到"John","Smith"从后期行动回来而不是"THX 1138"有没有办法覆盖此行为?我也想知道它为什么这样做?

asp.net asp.net-mvc razor-2

1
推荐指数
1
解决办法
1422
查看次数

Url路由没有MVC的ASP.NET WebPages(.cshtml)

如何将网址路由到.cshtml页面?例如www.example.com/view/2 - > view.cshtml

我不想使用MVC,最好不要使用控制器代码和其他东西复杂化.只是路由尽可能简单.

url-routing asp.net-webpages razor-2

1
推荐指数
1
解决办法
2777
查看次数

剃刀和如果声明

我在MVC 3 C#中使用MS Razor,我需要在IF语句中显示一些文本"hello".目前我收到一个错误.知道怎么解决吗?

编辑:语法错误

   @if(Model.IsCustomEvent)
    {
        @Html.ActionLink("Edit", "Edit", new {  id=Model.EventTitle }) hello
    }
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-3 razor-2

0
推荐指数
1
解决办法
7430
查看次数

FileUpload 不适用于 Razor 网页 2

我曾尝试在 IIS 上安装 MVC3、MVC4 和网页 2,但它一直告诉我@FileUpload.GetHTML不存在...

“/”应用程序中的服务器错误。

编译错误

说明:在编译服务>此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

编译器错误消息:CS0103:当前上下文中不存在名称“FileUpload”

源错误:

Line 17:     <body>
Line 18:     <h1>FileUpload - Single-File Example</h1>
Line 19:     @FileUpload.GetHtml(                     <---- RED LINE
Line 20:         initialNumberOfFiles:1,
Line 21:         allowMoreFilesToBeAdded:false,
Run Code Online (Sandbox Code Playgroud)

我试图手动复制 dll 以确保它们是正确的版本等。

  • 系统.Web.Helpers.dll
  • 系统.Web.Razor.dll
  • 系统.Web.WebPages.dll
  • System.Web.WebPages.Deloyment.dll
  • System.Web.WebPages.Razor.dll

微软的例子似乎包括 Microsoft.Web.Helpers ??? 在 Razor (v2) 中找不到任何地方...

FileUpload 不是 Razor V2 中的 Helpers 的一部分吗?

c# file-upload asp.net-webpages razor-2

0
推荐指数
1
解决办法
2155
查看次数

从foreach转换为for循环

下面的代码工作完美.但我需要它转换foreachfor循环.请帮我为循环迭代通过.因为我必须if else在整个代码中引入一些声明

@foreach (var item in ViewData["productSl_1"] as IEnumerable<Nazmulkp.Models.Product>)
{      
    <div class="col-md-3 ">
      <div class="thumbnail">
          <a href="#" class=""><img src="@Url.Content(item.ImagePath)" alt="Image" style="max-width:100%;"></a>
          <div class="caption">  
             <h5>@item.ProductName</h5>
             <h4>Tk.@item.Price</h4>
          </div>
        </div>
    </div>
}
Run Code Online (Sandbox Code Playgroud)

例:

我必须确保索引编号为2而不是执行 <div class="col-md-3>"

谢谢

asp.net asp.net-mvc asp.net-mvc-4 razor-2

0
推荐指数
1
解决办法
109
查看次数