我的URL localhost:555/Configuration/Addresses
上找不到服务器操作由于错误的URL
我有3个按钮编辑/创建/删除表格。
当我按下其中一个按钮时,根据按钮的值属性动态设置表单动作。我稍后使用本地化的按钮。
当我点击一个按钮,检查浏览器的源代码,我得到这个网址:
“配置/地址/编辑”,并提交表单。
为什么我那么在url中看到这一点: 'Configuration/Configuration/Addresses/Edit'
因此对服务器的编辑操作没有发现:/
<div class="row">
<div class="col-xs-12">
@using (Html.BeginForm())
{
<div class="form-group required">
@Html.LabelFor(m => m.Title, HtmlAttributes.Label)
<div class="col-md-6">
@(Html.Kendo().DropDownListFor(m => m.Title)
.BindTo(Model.Addresses.OrderBy(order => order.Text))
.HtmlAttributes(HtmlAttributes.KendoControl))
</div>
</div>
<button type="submit" class="btn btn-default addresses-btn" name="action" value="Delete">Delete</button>
<button type="submit" class="btn btn-default addresses-btn" name="action" value="Edit">Edit</button>
<button type="submit" class="btn btn-default addresses-btn" name="action" value="Add">Create</button>
}
</div>
</div>
<script>
$(function() {
$(".btn-default").on("click", function (e) {
e.preventDefault();
var form = $(this).closest("form");
var action = $(this).val();
$(form).attr('action', '@MVC.Configuration.Name' + '/' + '@MVC.Configuration.Addresses.Name' + "/" + action);
$(form).submit();
});
});
</script>
因为你需要一个正斜杠'$(形式).attr( '动作', '/' +“@ MVC.Configuration.Name'....' – 2015-02-24 08:45:09
有相对和绝对url's.在你的情况下,网址是相对的,你不需要'@ MVC.Configuration.Name'+'/'+部分(你已经在地址控制器中)如果你在开始时添加'〜',你会得到一个绝对的url – okisinch 2015-02-24 08:51:41
@ Url.Content(“〜”)+“\”+ action does not work then I get add or edit in the url – Pascal 2015-02-24 09:07:49