用mvc3,view可以在文本框中输入数据,然后后台controller可以 即时响应数据,显示在view上。
用mvc3,view可以在文本框中输入数据,然后后台controller可以即时响应数据,显示在view上。需要用到model为controller提供数据库里面的数据。...
用mvc3,view可以在文本框中输入数据,然后后台controller可以 即时响应数据,显示在view上。需要用到model为controller提供数据库里面的数据。。。。需要用到ajax吗??。。。初学的菜鸟不知道如何做呢。可以告诉我原理吗?。。有demo可以给我参考一下吗?。。编程语言是c# .net。数据库是sql sever 2010
展开
2个回答
展开全部
”及时响应数据“这句话没理解错的话应该就是异步更新的意思吧!
用MVC3有两个个好东西你一定要知道的:一个是AJAX.BegionForm,还有一个AJAX.ActionLink这两个是MVC3中提供的异步刷新处理数据的两个小玩意,可以学习下;
根据楼主的需求,当用户输入的时候就需要响应数据,那以上的两个方法都不行;因为楼主的需求是需要触发JS事件的,所以可以考虑用JS实现的异步提交,或者JQ;
下面JS代码:
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url, cfunc) {
//根据浏览器的不同选择初始化
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // 判断各种浏览器
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
} catch (e) {
alert("页面加载错误!");
return;
}
}
}
}
else {
alert("页面加载错误!");
return;
}
//End
xmlhttp.onreadystatechange = cfunc;
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
// 使用 Callback 函数
function myFunction(id) {
loadXMLDoc("./AJAX/TimeTxt.cshtml?ID="+id, function () { //此地址为Action的地址,就是C层控制器的URl,这里需要根据你的需求来改,ID实际上就是传入的数据,ID在C层获取就行业务逻辑操作。
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;//此为响应返回的数据把他放在一个ID为myDiv的div里面,比如return “hello”; div里面则显示hello.
}
});
}
</script>
<input type="text" onblur="myFunction(this.value)" name="id" value="" /> //这句话的意思就是当用户输入完成时离开text的时候执行JS事件
<div id="myDiv"></div>
基本上就是这样了,不知道符合你的需求不!
用MVC3有两个个好东西你一定要知道的:一个是AJAX.BegionForm,还有一个AJAX.ActionLink这两个是MVC3中提供的异步刷新处理数据的两个小玩意,可以学习下;
根据楼主的需求,当用户输入的时候就需要响应数据,那以上的两个方法都不行;因为楼主的需求是需要触发JS事件的,所以可以考虑用JS实现的异步提交,或者JQ;
下面JS代码:
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url, cfunc) {
//根据浏览器的不同选择初始化
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // 判断各种浏览器
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.4.0");
} catch (e) {
alert("页面加载错误!");
return;
}
}
}
}
else {
alert("页面加载错误!");
return;
}
//End
xmlhttp.onreadystatechange = cfunc;
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
// 使用 Callback 函数
function myFunction(id) {
loadXMLDoc("./AJAX/TimeTxt.cshtml?ID="+id, function () { //此地址为Action的地址,就是C层控制器的URl,这里需要根据你的需求来改,ID实际上就是传入的数据,ID在C层获取就行业务逻辑操作。
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;//此为响应返回的数据把他放在一个ID为myDiv的div里面,比如return “hello”; div里面则显示hello.
}
});
}
</script>
<input type="text" onblur="myFunction(this.value)" name="id" value="" /> //这句话的意思就是当用户输入完成时离开text的时候执行JS事件
<div id="myDiv"></div>
基本上就是这样了,不知道符合你的需求不!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询