我有一个表单,为了隔离问题,它有大约十几个纯HTML复选框(不是WebControls),所有这些都被禁用.他们在里面UpdatePanel.
我有一个电话链接
__doPostBack('a-control','my-custom-argument');
根据我提供的第一个参数,页面可以执行完整postback或部分参数.
当我完成时postback,在帖子中没有提交任何复选框值(因为它们被禁用).这是正常的,因而也是期望的行为.
但是,当它执行部分操作时postback,脚本会从我的复选框中收集所有值并提交它们,而不指示哪些值被禁用,这会破坏我的代码.
这很烦人,我希望它表现得一致.反正有没有告诉.NET javascript处理程序以世界其他地方的方式工作,而不是 禁用的 HTML表单元素postback的值?
有什么方法可以验证服务器上是否安装了这个?我正在运行3.5 .NET Framework.
出于某种原因,我无法在IE 8.0中监控我的asp.net页面对本地主机的请求/响应.
我使用小提琴手,我修改了他的网址 - 通过在分号前添加一个点 -
http://localhost.:52749/JQuery/Chapter16-AJAX/PersonEditor.aspx
我收到此错误:
[Fiddler]连接到localhost.失败.异常文本:无法建立连接,因为目标计算机主动拒绝它:: 1:52749
谢谢
当我发出jQuery AJAX JSON请求时,它会以"d"属性响应.
为什么是这样?
最近我遇到了一些正在使用的应用程序,js.erb我不确定如何使用它...这是下面的代码.有人可以帮我理解这是如何工作的吗?
在routes.rb文件中
map.resources :player_emails
Run Code Online (Sandbox Code Playgroud)
我的控制器player_emails_controller.rb在创建动作中
def create
@player_email = PlayerEmail.create(params[:player_email])
if @player_email.save
@response_txt = "The player has been emailed."
PlayerEmailsMailer.deliver_pattern_email(@something, @player_email, request.host_with_port)
@error = false
else
@error = true
@response_txt = "Please make sure you entered your name and a valid email address."
end
end
Run Code Online (Sandbox Code Playgroud)
然后我有文件 player_emails/create.js.erb
$('#player_email_ind').hide();
$('#player_email_submit').show();
$('#player_response_msg').html("<%= escape_javascript @response_txt %>").fadeIn();
<% unless @error %>
$('#player_email_form')[0].reset();
<% end %>
Run Code Online (Sandbox Code Playgroud)
我知道jquery会发生什么,但我不知道这是怎么做的ajax.它是否只是ajax在有js.erb... 时自动进行调用...有人可以解释它的工作方式以及为什么我不需要在控制器操作中的respond_to告诉它这是format.js
我在更新面板中有一个GridView.它是一个继承的asp:GridView,所以它有一个"导出我"的图标就是这样做的.它通过响应带有XLS文件的"导出"单击来工作.问题是,如果您将智能GridView放在更新面板中,ASP.NET认为XLS文件将写入面板,这显然不是我们想要的.为此,我每次都需要一个完整的回复.
我的更新面板都是以编程方式生成的
解决方案在这种精确的情况下不起作用(其中许多在SO的其他地方都有涉及):
在版本4之前的ASP.NET中,如果您将ID从控件中删除,它甚至可以在更新面板中执行完整的回发.我的问题是仅针对最新最好的.NET 4.
ScriptManager.RegisterPostBackControl看起来很有前途.它确实使控制后期使用正确的面板ID作为事件目标,但是没有其他帮助.
将PostBackTrigger添加到"更新"面板.我的更新面板是以编程方式生成的,MS声明不支持此更新.我的测试表明他们是对的:我尝试过各种方式,但这不起作用.
我不太喜欢智能GridView不得不脱离自己的想法,但我试图让它在这些情况下在updatePanel之外添加一个额外的控件.通过客户端javascript重定向客户端单击面板内的导出按钮的想法,以模拟面板外部的该按钮的单击.但是这不起作用,因为我无法将"外部"控件添加到页面中 - 我得到"在DataBind,Init,Load,PreRender或Unload阶段无法修改控件集合".错误.
使用jQuery将"导出"控件移到面板外部.MS必须有一些他们认为在面板中"控制"的控件列表,并且DOM中的物理位置无关紧要.
有没有人有任何想法如何使这项工作?我知道很多这个应该有用,但那不是一回事.
当ModelState在控制器中无效时,我想调用"OnFailure".
在我的LoginView中
@using (Ajax.BeginForm("Login", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "Login",InsertionMode = InsertionMode.Replace, OnSuccess = "Success", OnFailure = "onError" }))
{
}
Run Code Online (Sandbox Code Playgroud)
在控制器中
[httpPost]
public ViewResult Login(LoginModel model)
{
if (ModelState.IsValid)
{
}
else
{
ModelState.AddModelError("login is fail")
}
return View("Login",model)
}
Run Code Online (Sandbox Code Playgroud)
所以我想调用onSuccess方法,如果ModelState有效,如果失败,那么只调用OnError方法,显示模型状态的所有错误.
我在AjaxToolkit 3.5中使用CollapsiblePanelExtender来显示/隐藏搜索过滤器选项.
我希望在页面首次加载时扩展CollapsiblePanelExtender!Page.IsPostBack.
之后,我希望折叠CollapsiblePanelExtender,因为这意味着他们要么提交了一些过滤器选项,要么转到搜索结果中的另一个页面.无论哪种情况,我都希望CollapsiblePanelExtender能够进行拼写.
有没有办法可以实现这个目标?
在按钮提交处理程序的代码隐藏中,我尝试添加:
CollapsiblePanelExtenderID.CollapsedSize = 0 CollapsiblePanelExtenderID.Collapsed = true
但这似乎没有用.我还将此添加到处理Paging的lvProducts_PagePropertiesChanging处理程序中.
我有一个Ajax actionlink,它在控制器方法中请求一个字符串.我想将该字符串插入到超链接的属性中.我是否指定了目标id元素的属性字段?
<img id="CHANGE-MY-SRC" src=ViewData["src"] >
<%=Ajax.ActionLink("Change IMG Source","actionChange",new AjaxOptions()
UpdateTargetId="CHANGE-MY-SRC"})%>
Run Code Online (Sandbox Code Playgroud)
public string actionChange()
{
ViewData["src"]= "somethingNew";
return ????????
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Ajax调用创建一个MVC网站.我没有直接使用jquery的问题,但是当我使用@ Ajax.ActionLink时,我没有得到我想要的结果.这是我的观点:
<script type="text/javascript">
function deleteComment(id) {
$.post(
"/Role/AjaxTest",
//{ id: id },
function (data) {
$("#testtarget").html(data);
});
}
</script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<h2>TITLE</h2>
<p>
@Ajax.ActionLink("Ajax Test", "AjaxTest", "Role", new AjaxOptions{UpdateTargetId="testtarget",HttpMethod = "Get" , InsertionMode = InsertionMode.Replace })
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoleName)
</td>
<td>
<a onclick="deleteComment('@item.RoleId'); return false;" href="#">Delete</a>
@Html.ActionLink("Delete", "Delete", new { id=item.RoleId })
</td>
</tr>
}
</table>
<div id="testtarget">Test Div</div>
Run Code Online (Sandbox Code Playgroud)
这是我的Controler数据:
public string AjaxTest()
{
return "Some random text"; …Run Code Online (Sandbox Code Playgroud) asp.net-ajax ×10
asp.net ×3
.net ×2
asp.net-mvc ×2
c# ×2
javascript ×2
ajax ×1
erb ×1
fiddler ×1
get ×1
jquery ×1
json ×1
razor ×1
ruby ×1
updatepanel ×1
webforms ×1