我有一个文本框,可以更改OnTextChanged事件中下拉列表的内容.当文本框失去焦点时,此事件似乎会触发.如何在按键或键盘事件中实现此目的?
这是我的代码示例
<asp:TextBox ID="Code" runat="server" AutoPostBack="true" OnTextChanged="Code_TextChanged">
<asp:UpdatePanel ID="Update" runat="server">
<ContentTemplate>
<asp:DropDownList runat="server" ID="DateList" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Code" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
所以在代码隐藏中,我在页面加载时绑定下拉列表.Code_TextChanged事件只是重新绑定下拉列表.我希望在每个按键上发生这种情况,而不是在文本框失去焦点时发生.
我最近继承了这个代码,这不是我这样做的理想方法,但是时间限制阻止我在web servicy方法中重写它.
我已经尝试使用jQuery来绑定"keyup"事件以匹配文本框的"更改"事件,但这仅适用于按下的第一个键.
我需要从.aspx网页上抓取查询结果.
http://legistar.council.nyc.gov/Legislation.aspx
网址是静态的,那么如何向此网页提交查询并获得结果?假设我们需要从相应的下拉菜单中选择"所有年份"和"所有类型".
那里的人必须知道如何做到这一点.
如何将$ .ajax中的int数组发送到c#mvc?
如果给出选择,你会选择哪条路径?
ASP.NET Webforms + ASP.NET AJAX
要么
您选择的ASP.NET MVC + JavaScript框架
ASP.NET Webforms/ASP.NET AJAX是否存在与MVC相比的限制?
我正在尝试使用ASP.NET MVC Ajax.BeginForm帮助程序,但不希望在调用完成时使用现有的内容插入选项.相反,我想使用自定义JavaScript函数作为回调.
这有效,但我想要的结果应该作为JSON返回.不幸的是,框架只是将数据视为字符串.以下是客户端代码.服务器代码只返回一个带有一个字段UppercaseName的JsonResult.
<script type='text/javascript'>
function onTestComplete(content) {
var result = content.get_data();
alert(result.UppercaseName);
}
</script>
<% using (Ajax.BeginForm("JsonTest", new AjaxOptions() {OnComplete = "onTestComplete" })) { %>
<%= Html.TextBox("name") %><br />
<input type="submit" />
<%} %>
Run Code Online (Sandbox Code Playgroud)
而不是显示大写结果,而是显示未定义.content.get_data()似乎包含JSON,但只能以字符串形式存在.如何将其转换为对象?
所有这些看起来有点令人费解.有没有更好的方法来使用Ajax.BeginForm获取结果内容?如果这很难,我可以完全跳过Ajax.BeginForm并只使用jQuery表单库.
完整的错误是
基类包括字段'ScriptManager1',但其类型(System.Web.UI.ScriptManager)与控件类型(System.Web.UI.ScriptManager)不兼容.
其他人遇到这个错误?
我有ASP.NET MVC控制器命名字典与方法ControlsLangJsFile.方法返回包含JavaScript变量的用户控件(ASCX)视图.
当我调用该方法时,它返回带有解析字符串的变量,但内容类型是html/text.它应该是:application/x-javascript
public ActionResult ControlsLangJsFile()
{
return View("~/Views/Dictionary/ControlsLangJsFile.ascx",);
}
Run Code Online (Sandbox Code Playgroud)
我如何实现这一目标?
我很抱歉,如果已经提出这个问题,但我一直在寻找,但我找到的只是相当旧的帖子(mvc1,mvc2).我有一个表格,我想通过Ajax提交.
这看起来会起作用,但不包括服务器端验证.
1)我不确定是否应该使用AjaxHelper.BeginForm或使用原始jquery调用($.ajax)?这里推荐的方法是什么?
2)如何处理客户端和服务器端验证?我希望mvc框架提供一个内置的机制来处理这个?有一些验证我只做服务器端.会不会ValidationSummary在这里使用?
我使用asp.net mvc3/razor与unobtrussive javascript验证.
谢谢!
编辑:(按照Bobby B的要求). 这是在用户想知道如何使用AjaxHelper之后几个月提出问题
这是我使用的javascript代码:
<script type="text/javascript">
function ajaxValidate() {
return $('form').validate().form();
}
function getGbPostSuccess(ajaxContext){
// .... it is not necessary to do anything here.
}
function showFaliure(ajaxContext){
// handle failure
}
Run Code Online (Sandbox Code Playgroud)
HTML片段:
@using (Ajax.BeginForm("Index", "Home", new AjaxOptions
{
UpdateTargetId = "form1",
InsertionMode = InsertionMode.Replace,
OnBegin = "ajaxValidate",
OnSuccess = "getGbPostSuccess",
OnFailure = "showFaliure"
}))
{
Run Code Online (Sandbox Code Playgroud) ScriptManager和之间有什么区别ToolkitScriptManager?我发现只有一个令人信服的理由:它ToolkitScriptManager可以提高页面性能.如果是这样,为什么使用ScriptManager?
如果我不使用部分页面,PagedList.Mvc工作正常,但是当我使用带有ajax的部分页面加载网格时,分页存在问题.我在TroyGoode的支持下结束了https://github.com/TroyGoode/ PagedList/issues/26#issuecomment-6471793,但是为支持提供的链接不起作用.现在,我已经这样使用了
@Html.PagedListPager((IPagedList)Model.MovieInforamtions, page => Url.Action("GetMovieDatabase", new { page }))
Run Code Online (Sandbox Code Playgroud)
,它加载页面,但我需要ajaxically更改分页.我怎样才能做到这一点?
asp.net-ajax ×10
asp.net ×6
asp.net-mvc ×6
ajax ×3
.net ×1
arrays ×1
javascript ×1
jquery ×1
pagedlist ×1
pagination ×1
postback ×1
python ×1
updatepanel ×1