MVC3来自Javascript的调用控制器方法
在MVC3中。我有一个按钮类“开放式deleteRowDialog”当我点击它进入此javascript:MVC3来自Javascript的调用控制器方法
$(document).on("click", ".open-DeleteRowDialog", function() {
var pwd= '@Url.("GeneratePsw","Admin")';
$(".modal-body #pwd").val(pwd);
$('#1').modal('show');
})
我想是调用一个方法(在控制器),谁也返回一个字符串,that's我想在“VAR PWD”保存在模型(视图),以显示
的方法(在控制器)是什么:
public string GeneratePsw()
{
HomeBridgeEntities ddbb = new HomeBridgeEntities();
SqlConnection Cn = new SqlConnection(((System.Data.EntityClient.EntityConnection)ddbb.Connection).StoreConnection.ConnectionString);
SupPassGenerator sup = new SupPassGenerator(Cn);
//psw conteins a password from CreateRandomPassword
string psw = sup.CreateRandomPassword(9);
return psw;
}
谢谢!
拨打ajax调用您的控制器操作方法。您可以使用如下所示的$.get
方法。
$(function(){
$(document).on("click", ".open-DeleteRowDialog", function() {
var pwd="";
$.get("@Url.Action("Yourcontroller","GeneratePsw")",function(data){
pwd=data;
//now do whatever you want with pwd variable;
});
})
});
$.get是$.ajax
方法与类型HTTP GET的简短形式。
如果您在响应中遇到了缓存数据等问题,您可以在您的get
调用中添加唯一的时间戳,以便您不会获得缓存的结果。您可以使用$.now方法。
$.get("@Url.Action("Yourcontroller","GeneratePsw")?"+$.now(),function(data){
// to do : do something with result
});
另一种方法是在ajaxSetup方法中将缓存属性值设置为false。但是这将适用于所有的ajax调用。
使用jQuery Ajax和直接调用控制器方法的网址
$(document).on("click", ".open-DeleteRowDialog", function() {
var pwd="";
$.get('Yourcontroller/GeneratePsw', function(data){
pwd=data;
//now do whatever you want with pwd variable;
});
})
谢谢!它运作良好! ;) – Alsan 2013-03-14 15:40:22
@Alsan很高兴听到它:) – 2013-03-14 15:40:56
你需要使用AJAX。 – SLaks 2013-03-14 15:14:28
请问您可以在AJAX中编写任何示例?谢谢! – Alsan 2013-03-14 15:16:27