我从模型类生成我的jqgrid,我将其传递给视图.我得到了构建和工作jqgrid.但是,在我调用helper创建jqgrid之后,我想在一个视图上设置postData,在那里我使用jqGrid,在该视图中使用脚本,而不必更改创建jqgrid的整个局部视图.
我试过跑步
$("#@Model.Id").jqGrid('setGridParam', { postData: { test: 233} });
Run Code Online (Sandbox Code Playgroud)
和
$("#@Model.Id").setGridParam({ postData: { test: 233} });
Run Code Online (Sandbox Code Playgroud)
但没有错误或任何结果.如果我在jqgrid参数中设置postData(在部分视图中构造它,它可以工作.
我还检查了网格存在,补充说
console.log($("#@Model.Id").size());
Run Code Online (Sandbox Code Playgroud)
在第一行之前,它显示1.
更新:这个.setGirdParam函数开始为我工作没有明显的原因,所以如果有人可以提供一些可以阻止这种工作的见解,我会接受回答.谢谢
我有一个像这样简单的ajax调用:
$.ajax({
url: u, type: "POST", dataType: "json",
data: data,
success: function (d) { response($.map(d, function (o) { return { label: o.Text, value: o.Text, id: o.Id} })); }
});
Run Code Online (Sandbox Code Playgroud)
它是tb自动完成的一部分,不仅适用于一个视图.它不起作用的原因是它代替json,它使jsonp请求(通过嗅探我看到它调用传递的url ?callback=jQueryxxxxxxxxx),并且永远不会调用success函数,因为jquery将它打包到匿名函数中,其名称在callback参数中传递,和服务器返回标准的json(我不想使用jsonp,因为它是POST请求而不是跨域请求).我检查了,当前的视图url和这个uajax url参数都打开了http://localhost:8080/myapp/areax/...,所以我不明白为什么jQuery在这里发出JSONP请求.
编辑:
这个不起作用的视图有url请求是这样的: http:// hostname:8080/AreaName/Report/ViewReport 和ajax的参数就像是/ AreaName/MyAutoComplete/Search,所以完整的url到哪个autocomplete是make就像 http:// hostname:8080/AreaName/MyAutoComplete/Search?callback = jQuery151013129048690121925_1327065146844
服务器的响应如下所示:
[{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]
Run Code Online (Sandbox Code Playgroud)
我知道它不是jsonp,因为它应该是
<script>
jQuery151013129048690121925_1327065146844([{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]);
</script>
Run Code Online (Sandbox Code Playgroud)
但我想制作正常的json请求,而不是jsonp.
UPDATE
最奇怪的事情(我开始认为这是jquery v1.5.1中用于项目的一个错误)是当我删除时dataType: "json",它会产生一个正常的json请求:)
所以,不是如何制作json请求,现在我将接受一个解释为什么它按预期工作(并且dataType:"json"的那个没有):
$.ajax({
url: u, type: "POST",
data: data,
success: function (d) { response($.map(d, function (o) { …Run Code Online (Sandbox Code Playgroud) 在查看Ayende's Racoon Blog的来源时,我看到了global.asax.cs:
// Work around nasty .NET framework bug
try
{
new Uri("http://fail/first/time?only=%2bplus");
}
catch (Exception)
{
}
Run Code Online (Sandbox Code Playgroud)
这似乎是第一个请求中发生的错误的解决方法.有谁知道这是什么错误或如何重现它?
我正在使用一个使用微风进行数据访问的SPA.我想尽快创建一个元数据实例,我想这将是在完成初始化之后:
var manager = new entityModel.EntityManager(serviceName);
Run Code Online (Sandbox Code Playgroud)
但是,实体管理器需要对web api控制器执行ajax请求以加载元数据,如果我manager.metadataStore.getEntityType("EntityName")在完成之前尝试,我会得到:
Uncaught Error: Unable to locate an 'Type' by the name
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否存在加载元数据时触发的事件?我浏览文档,但似乎我无法找到它.
我找不到解决这个问题的简单方法.
当按钮点击出现错误时,我试图淡化某些文本的颜色变化.
if (document.getElementById("username").value == ""){ //First Name
$("#login_error").text("Please enetr a username!").css('color', '#FF0000');
$("#username_label").css('color', '#FF0000');fadeIn(3000);
}
Run Code Online (Sandbox Code Playgroud)
我可以改变颜色,但它是即时的.我想让颜色的变化慢慢消失.
多谢你们!
我正在开发一个组件,它执行使用ioc注册的任何接口的临时方法,执行时刻取决于不同的触发器.它必须能够保存要对数据库执行的操作,因此我将方法名称,类型和参数列表(序列化为BLOB)保存到数据库中,直到需要为止.
当触发发生时,我需要在类型的实例上执行方法.因为我正在使用依赖注入,我将接口名称保存到数据库中(格式"Namespace.IInterface, AssemblyName")
要Resolve<IInterface>()在ioc容器上运行方法,我需要它的实例Type:
Assembly assembly = System.Reflection.Assembly.Load(assemblyName);
Type service = assembly.GetType(typeName);
object instance = IOCContainer.Resolve(service);
Run Code Online (Sandbox Code Playgroud)
我的问题是:
Type.Load(typeName)但得到了null)我在mvc4操作中有一个标准格式.我使用jQuery.post在服务器上执行回发操作:
[HttpPost]
public ActionResult ContactUpdate(ContactClass model)
{
var originalContact = contactService.Get(model.Id);
if (ModelState.IsValid && TryUpdateModel(originalContact))
{
contactService.Update(originalContact);
}
var updatedContact = contactService.Get(model.Id);
return PartialView("ContactView", updatedContact );
}
Run Code Online (Sandbox Code Playgroud)
这按预期工作,代码仅用于说明,因为我的问题稍后发生在请求中.我的联系服务尚未实现更新(因此),因此updatedContact实际上与原始相同(当您执行更新时,将忽略所有更改并返回旧对象).因此,当我将网页中的PostCode从555更改为666时,updatedContact.PostCode为555.我在调试器中检查了它的值,并且在视图中调用了cshtml文件@Html.EditorFor(m=>m.PostCode),并且它在任何地方都有旧值(未更新).问题是返回的html(从firebug和chrome dev工具中的网络中获取)具有:
<input class="text-box" id="PostCode" name="PostCode" type="text" value="666">
Run Code Online (Sandbox Code Playgroud)
这种行为对于所有属性都是相同的,据我所知,没有输出缓存(即使它是,它是一个POST请求,因此应该绕过缓存).当我刷新页面时,我得到"旧"值.
起初,我认为这是我的ajaxSuccess函数$("#myform").replaceWith(returnedText),但是在仔细检查响应内容后,我肯定是问题在于返回的html.这怎么可能?
这个错误现在会造成我的更新工作的错觉,如果它正在工作,我可能甚至都不知道它.这是一种潜在的危险行为,因为某些属性可能具有与发布到控制器的属性不同的值,并且用户在更新后将无法看到它,因此我可能必须刷新整个页面以解决此问题.