小编Gra*_*ffe的帖子

MVC ajax json发布到控制器动作方法

我试图实现对包含复杂对象作为参数的控制器操作方法的JQuery AJAX调用.我已经阅读了很多博客,并尝试了从中学到的几种技术.我构建了我最好的尝试代码的关键帖子(如下所示)是这里的stackoverflow帖子.

我想触发一个异步帖子,当用户选中一个字段[不是表单保存帖子时调用 - 如我发现的其他示例中所示].

我的意图是:

  • 在客户端上实例化一个对象[不是为View提供类型的ViewModel];
  • 使用视图中多个字段的数据填充对象;
  • 将此对象转换为JSON;
  • 使用jQuery.Ajax方法调用控制器操作方法,传递JSON对象.

结果将作为JSON结果返回; 并且数据将根据返回的结果加载到视图中的字段中.

问题是:

  • 如果action方法属于HttpPost属性,则不会调用控制器Action方法(即使AJAX调用类型设置为'POST').
  • 如果action方法是使用HttpGet赋值的,则参数的属性值为null
  • ReadObject方法抛出错误:"期望元素'root'来自命名空间''..遇到'无',名称'命名空间'".

希望有人可以提供帮助.谢谢.代码如下:

客户端js文件

 var disputeKeyDataObj = {
     "InvoiceNumber": "" + $.trim(this.value) + "",
     "CustomerNumber": "" + $.trim($('#CustomerNumber').val()) + ""
  };

  var disputeKeyDataJSON = JSON.stringify(disputeHeadlineData);      

  $.ajax({
     url: "/cnr/GetDataForInvoiceNumber",
     type: "POST",
     data: disputeKeyDataJSON,
     dataType: 'json',
     contentType: "application/json; charset=utf-8",
     success: EnrichedDisputeKeyData(result)
  });
Run Code Online (Sandbox Code Playgroud)


操作过滤器和与Action方法参数关联的类的类

 [DataContract]  
 public class DisputeKeyData  
 {  
    [DataMember(Name = "InvoiceNumber")]  
    public string InvoiceNumber { get; set; }

    [DataMember(Name = "CustomerNumber")]
    public string CustomerNumber { get; …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc json

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

ASP.MVC 2.0如何在整数值为零时显示Integer的Model属性的空白文本框

我有以下代码:

<div class="editor-field">
<%: Html.TextBoxFor(model => model.MyId) %>
<%: Html.ValidationMessageFor(model => model.MyId) %>
<
/ DIV>

模型的'MyId'属性是整数类型.

当窗体处于"创建"模式时,MyId值为0.我怎样才能阻止0显示,而是使用空字符串/空白/无值渲染文本框?

我尝试过各种形式的String.Format但没有成功.

asp.net-mvc asp.net-mvc-2

9
推荐指数
2
解决办法
7383
查看次数

使用Rhino Mocks模拟IObjectSet <T>

有没有办法使用Rhino Mocks生成Stub IObjectSet<T>

之后的内容类似于以下代码:

var context = MockRepository.GenerateMock <IContext>();
//generate stub
var mockProjectObjectSet = MockRepository.GenerateStub<IObjectSet<Project>>();
TestObjectSets.GenerateFakeProjectList(mockProjectObjectSet);
context.Expect(p => p.Projects).Return(mockProjectObjectSet);
var projectRepository = new ProjectRepository(context);
Run Code Online (Sandbox Code Playgroud)

GenerateFakeProjectList静态帮助器方法中,我只是创建指定类型的对象,并通过以下AddObject方法将它们添加到存根IObjectSet:

public static IObjectSet<Project> GenerateFakeProjectList(IObjectSet<Project> projectsObjectSet)
{     
   projectsObjectSet.AddObject(new Project()
   {
     Categories = null,
     DateCreated = DateTime.Now.AddDays(-10),
    .......
Run Code Online (Sandbox Code Playgroud)

c# rhino-mocks entity-framework-4

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