C# 不计算实际Url的操作
我正在尝试使用Url.Action根据如下控制器操作生成正确的HTTP Url:C# 不计算实际Url的操作,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我正在尝试使用Url.Action根据如下控制器操作生成正确的HTTP Url: $.post('@Html.Raw(Url.Action(“Delete”,new{id=“1”}))) 然而,它并没有像预期的那样发挥作用。实际触发的url(从开发工具获得)是 http://localhost:60223/CordBlood/@Html.Raw(Url.Action(%22删除%22,%20新建%20%7B%20id%20=%20%224%22%20%7D)) 而我想要这样的东西: http:/
$.post('@Html.Raw(Url.Action(“Delete”,new{id=“1”})))
然而,它并没有像预期的那样发挥作用。实际触发的url(从开发工具获得)是
http://localhost:60223/CordBlood/@Html.Raw(Url.Action(%22删除%22,%20新建%20%7B%20id%20=%20%224%22%20%7D))
而我想要这样的东西:
http://localhost:60223/CordBlood/Delete/1
我做错了什么?我想你正试图实现类似的目标
<script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#dropdown").change(function () {
var id = $("#dropdown").val();
if (id == "")
{ id = 0; }
var dataToSend = {
Id: id
};
RedirectToPage(id);
});
function RedirectToPage(id) {
var url = '@Url.Action("Delete", "yourController", new { Id = "__id__" })';
window.location.href = url.replace('__id__', id);
}
});
</script>
$(文档).ready(函数(){
$(“#下拉列表”).change(函数(){
var id=$(“#下拉列表”).val();
如果(id==“”)
{id=0;}
var dataToSend={
Id:Id
};
黄页(id);
});
函数重定向Topage(id){
var url='@url.Action(“Delete”,“yourController”,new{Id=“\uu Id\uuu”})”;
window.location.href=url.replace(“\uuuu id\uuuu',id);
}
});
希望这会给你一些想法这段代码在.js文件中吗?还是在.cshtml文件中?此外,堆栈跟踪与此问题无关,这只是请求错误url的结果。嗯,您不需要使用
Html.Raw
?除此之外,代码应该可以正常工作。。。您可以发布一个稍大一点的示例吗?在您提供的代码示例中,结尾的单引号位于错误的位置。开头有两个括号,但结尾有三个。@MystereMan这是一个cshtml文件。@Pandincus单引号中有一个问题,但这只是我在粘贴代码时犯的一个错误。我正在使用的代码很好,我正在尝试做类似的事情。除了你在做一个window.location,我在做一个ajax.post之外,我也在尝试做url.replace,但唯一的区别是我在尝试做一个url.replace(/\uu ID,ID)