允许在按下键后输入文本框
Allowing to type in textbox after postback on keydown
我试图创建一个文本框,在keydown上执行c#函数,所以我订购了一个javascript函数来回发文本框的keydown事件,基本上,发生的事情是我在autopostback=true上的文本框和c#函数只有在点击框外时执行,因为autopostback,所以我想达到同样的目标,但没有点击外部,只有keydown。下面是我的代码:
<script language="javascript" type="text/javascript">
function RefreshBox()
{
__doPostBack('<%= SomeTextBox.ClientID%>', '');
}
<asp:TextBox ID="SomeTextBox" runat="server" onkeydown="RefreshQueryBox();"
AutoPostBack="True" ValidationGroup="1"
ontextchanged="AutoText_TextChanged" ViewStateMode="Enabled"></asp:TextBox>
这是。cs
protected void AutoText_TextChanged(object sender, EventArgs e)
{
// Some actions here
}
的问题是,这段代码在按下键时刷新整个页面,用户无法键入。的帮助!: P
谢谢
您的解决方案的问题在于,当您引起回复时,您实际上是在重新启动生命周期。这意味着你的数据也没有得到正确的保存。我建议使用ajax的web服务调用来完成您的操作。
function AutoText(){
$.ajax({
type: 'POST',
url: '../Services/UpdateService.asmx/AutoText',
data: '',
contentType: "application/json; charset=utf-8",
success: function (data) {
//use the data.d to get the info passed back from webservice. then
add your logic to update your html
},
error: function () {
//catch any bad data
}
});
}
你的后端方法应该是这样的。对象就是你的对象
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Object GetLatest()
{
Object obj= new Object ();
obj.FirstName = "Dave";
obj.LastName = "Ward";
return obj;
}
如果你正在做验证,我会建议jquery/javascript。虽然,你冒着别人不允许在他们的浏览器上使用javascript的风险,但你可以在服务器端卸载工作。
相关文章:
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- 使用模拟按键在输入框中自动输入文本
- 如何添加类,同时开始在文本字段中输入文本
- JQuery使用相同的功能自动完成各种输入文本
- 如何设置输入文本框jquery的值
- 输入文本框为空时的阻止按钮asp.网络表单
- 基于单选框更新页眉,选中并选择输入文本
- 将输入文本与某个选项的值相匹配并自动选择
- 如何在 JavaScript 中创建输入文本框
- 如何使用纯Javascript观看输入文本框
- 需要使用javascript获取输入文本,然后将其添加到句子中
- php&js-将电子邮件添加到输入文本中
- 动态启用/禁用来自控制器的输入文本
- .val()不返回输入文本
- 从确认框中预填充输入文本框
- 如何使用JavaScript解析输入文本中给定的数据
- 添加/删除/更改输入文本的部分值
- 根据输入文本按元素排序,AngularJS
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 如何从Tr重复的输入文本中获取值