Asp.net mvc 未找到ASP.Net MVC2控制器路径IIS7
我在IIS7(集成池)中托管了一个MVC2应用程序。我用来访问应用程序的链接如下Asp.net mvc 未找到ASP.Net MVC2控制器路径IIS7,asp.net-mvc,Asp.net Mvc,我在IIS7(集成池)中托管了一个MVC2应用程序。我用来访问应用程序的链接如下 http://88.88.88.88/testapp/ 我正在从我的“HomeController.cs”调用PrintApp函数,如下所示 var printForm = jQuery('<form>', { 'method' : 'post', 'action' : 'Home/PrintApp' .....}); printForm .submit(); 但这也给了我
http://88.88.88.88/testapp/
我正在从我的“HomeController.cs”调用PrintApp函数,如下所示
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : 'Home/PrintApp'
.....});
printForm .submit();
但这也给了我同样的错误。唯一有效的是
'action' : 'http://88.88.88.88/testapp/Home/PrintApp'
这不是最好的方法。有人能确定问题是什么吗?如果JavaScript是从视图中调用的,您可以改为使用它(这假设Razor视图引擎…对于ASPX,它将略有不同):
将此行“操作”:“Home/PrintApp”更改为:
'action' : $('#printAppUrl').val();
然后,在视图的服务器端,将名为printAppUrl
的隐藏字段的值设置为:
@Html.Hidden("printAppUrl", Url.Action("PrintApp", "Home"));
另一个尝试是:
'/Home/PrintApp'
我这么说是因为我自己在一个测试应用程序中生成了一个表单,这就是URL的样子。您在某个事件中编写了以下javascript代码,该事件是在与某个DOM元素(如按钮或锚)交互时触发的,对吗 例如:
$('#foobar').click(function() {
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : 'Home/PrintApp'
.......
});
printForm.submit();
});
然后:
$('#foobar').click(function() {
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : $(this).data(url)
.......
});
printForm.submit();
});
$('#foobar')。单击(函数(){
var printForm=jQuery(“”{
'method':'post',
'操作':$(此).data(url)
.......
});
printForm.submit();
});
问题在于绝对路径和相对路径。其中一个应该适合您:
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : '~/Home/PrintApp'
.....});
printForm .submit();
var printForm=jQuery(“”{
'method':'post',
“操作”:“~/Home/PrintApp”
.....});
printForm.submit();
或
var printForm=jQuery(“”{
'method':'post',
“操作”:“../../Home/PrintApp”
.....});
printForm.submit();
试试“~/Home/PrintApp'@JeevanJose-这在.js文件中有效吗?我会试试..它现在有效..不确定它是什么..我将应用程序池更改为classic,然后返回到integrated..可能是其他东西..它肯定有效,我几乎高估了它,但它感觉像是一个“肮脏”的解决方案。@vinayan,您也可以尝试'/Home/PrintApp'
。
'/Home/PrintApp'
$('#foobar').click(function() {
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : 'Home/PrintApp'
.......
});
printForm.submit();
});
<button id="foobar" data-url="@Url.Action("PrintApp", "Home")">Click me</button>
$('#foobar').click(function() {
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : $(this).data(url)
.......
});
printForm.submit();
});
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : '~/Home/PrintApp'
.....});
printForm .submit();
var printForm = jQuery('<form>', {
'method' : 'post',
'action' : '../../Home/PrintApp'
.....});
printForm .submit();