Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 参数名称中带句点的MVC路由_C#_Asp.net Mvc 3_Model View Controller_Asp.net Mvc Routing - Fatal编程技术网

C# 参数名称中带句点的MVC路由

C# 参数名称中带句点的MVC路由,c#,asp.net-mvc-3,model-view-controller,asp.net-mvc-routing,C#,Asp.net Mvc 3,Model View Controller,Asp.net Mvc Routing,我试图在MVC应用程序中使用实体框架实现远程验证。我需要帮助来定义操作签名和适当的路由配置。我的模型中有以下类: public class FiscalReports { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long id { get; set; } public Int64 Counter { get; set; } public short Fiscal

我试图在MVC应用程序中使用实体框架实现远程验证。我需要帮助来定义操作签名和适当的路由配置。我的模型中有以下类:

 public class FiscalReports
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long id { get; set; }
    public Int64 Counter { get; set; }
    public short FiscalYear { get; set; }
   [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MMM dd, yyyy}")]
   [DisplayFormat(DataFormatString = "${0:N0}")]
    [Remote("ValidateSalary", "FiscalReports", AdditionalFields ="Counter, FiscalYear")]
    public int? Salaries { get; set; }
}

我有一个viewmodel,用于包含上述几个对象的视图

 public class FiscalReportVM
{
    public FiscalReports CurrentFR { get; set; }
    public FiscalReports ReportedToDate { get; set; }
    public FiscalReports BudgetToDate { get; set; }
}
验证操作位于FiscalReports控制器中,如下所示:

  public JsonResult ValidateSalary(int Salaries, short FiscalYear, int Counter)
    {
        return ValidateFiscalField(Salaries, FiscalYear, Counter, "Salaries");
    }
在视图中,我正在使用HTML助手

@Html.EditorFor(model=>model.CurrentFR.Salaries)
这将正确生成字段和验证。生成的HTML如下所示

input data-val="true" data-val-number="The field Salaries must be a number." data-val-remote="'Salaries'; is invalid." data-val-remote-additionalfields="*.Salaries,*.Counter,*.FiscalYear" data-val-remote-url="/FiscalReports/ValidateSalary" name="CurrentFR.Salaries" type="number" value="" />
验证请求正确触发,在fiddler中,我看到以下请求:

http://localhost:50409/FiscalReports/ValidateSalary?CurrentFR.Salaries=27000&CurrentFR.Counter=4773&CurrentFR.FiscalYear=2

我的问题是,我很难用虚线表示法定义变量的路由和操作。操作定义不接受虚线参数无法执行ValidateSalyint CurrentFR.Salaries,。。。。。我需要帮助来定义操作签名和适当的路由配置

您不能使用一点JQuery来更改name属性吗?大意是:

$CurrentFR.Salaries.attr'name','Salaries'

记得有一个类似的问题,我只是临时更改了视图中的名称,然后在操作中更改了后面的名称

可能重复的