C# 在btn中使用onclick标记更改Url

C# 在btn中使用onclick标记更改Url,c#,html,asp.net-mvc-4,C#,Html,Asp.net Mvc 4,我在一个视图中使用了以下命令,以便导航到索引视图上的特定选项卡 button type="button" class="btn blue" onclick="location.href='Index/#rooms'"><i class="m-icon-swapleft m-icon-white"></i> Back to Room List</button> 返回房间列表 Url的内容类似于……ReferralTarget/Index/#room

我在一个视图中使用了以下命令,以便导航到索引视图上的特定选项卡

  button type="button" class="btn blue" onclick="location.href='Index/#rooms'"><i class="m-icon-swapleft m-icon-white"></i> Back to Room List</button>
返回房间列表 Url的内容类似于……ReferralTarget/Index/#rooms

房间是索引视图上的选项卡之一

当我在另一个视图中使用相同的代码时,我得到一个错误400-错误的请求,Url读起来像/参考目标/编辑室/索引室

@model.Project.Web.Models.ReferralTargetRoomModel
@{
ViewBag.Title=“编辑室”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
编辑房间详细信息
@使用(Html.BeginForm(“编辑室”、“参考目标”、FormMethod.Post、新的{@class=“form horizontal”}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.HiddenFor(model=>model.ID)
@Html.HiddenFor(model=>model.ReferralTargetId)
@LabelFor(model=>model.country)
@DropDownListFor(model=>model.country.ID,新选择列表(model.countries,“ID”,“Name”),新{@ID=“countries”})
@Html.ValidationMessageFor(model=>model.County)
@LabelFor(model=>model.Fax)
@EditorFor(model=>model.Fax)
@Html.ValidationMessageFor(model=>model.Fax)
@LabelFor(model=>model.Email)
@EditorFor(model=>model.Email)
@Html.ValidationMessageFor(model=>model.Email)
@LabelFor(model=>model.Website)
@EditorFor(model=>model.Website)
@Html.ValidationMessageFor(model=>model.Website)
@DisplayNameFor(model=>model.Users)
@Html.ListBoxFor(m=>m.SelectedUsers,新的多选列表(Model.Users,“ID”,“Name”,Model.SelectedUsers)
,新的{@id=“users”,@multiple=true})
返回房间清单
}                                
@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
@Scripts.Render(“~/Scripts/jquery.multi-select.js”)
}
@剖面样式{
}
$(文档).ready(函数(){
$(文档).ready(函数(){
$(“#用户”)。多选({
selectableHeader:“可用用户”,
selectionHeader:“所选用户”,
});
});
$(函数(){
$(“#县”)。更改(功能(){
var filterVal=$(“#县”).val();
getHospitalsByCounty(filterVal);
})
});
函数getHospitalsByCounty(值){
$.ajax({
url:'GetHospitalsInCounty?id='+值,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(响应){
var数据=响应;
变量项=[]
$(“#医院”).empty();
$.each(数据、函数(索引、值){
$('#hospitals').append($(''.val(value.ID).html(value.Name));
});
}
});
};
});
有没有办法修改url以删除文本,在本例中是“编辑室”

如果它与控制器相关,那么这两个视图中唯一的区别是EditView Get ActionResult使用(字符串id),而AddView不


感谢您的代码,我认为您无意中添加了一个不存在的操作方法

编辑室
您想要的操作还是
索引
您想要的操作

我猜控制器是
ReferralTarget

所以应该是
ReferralTarget/EditRoom/#rooms

已更新

你可以改变这一行

 onclick="location.href='Index/#rooms'"


我没有得到你想要的?这个问题令人困惑?我有三个视图-索引-添加室-编辑室。索引有选项卡,其中一个选项卡名为Rooms-在Addroom视图中,我单击Back to Rooms Btn,返回到显示Rooms选项卡的索引视图(此功能正常)..当我在编辑室视图中单击同一btn时,我收到一个错误400错误请求和Url显示的编辑室/索引/#房间,当它应该读取索引/#房间时…..是否有方法在onclick中删除编辑室???否,我想返回索引操作结果….控制器是ReferralTarget…..它应该读取参考目标/指标/#rooms@mkell你能显示编辑室的视图代码吗?这将有助于了解需要更改的内容。任何特定部分,此表单中的注释都太长…第一节..@model PrejectName.Web.Models.refereralTargetRoomModel{ViewBag.Title=“EditRoom”Layout=“~/Views/Shared/_layoulayout.cshtml”;}@using(Html.BeginForm()){@Html.AntiForgeryToken()@Html.ValidationSummary(true)referralTargetRomModel@Html.HiddenFor(model=>model.ID)@Html.HiddenFor(model=>model.ReferralTargetId)然后只是查找文本框的信息……然后像以前一样保存输入类型sumit和btn代码……是否更清楚?@mkell我希望您能更新您的问题以提供更多信息。只需将整个视图添加到您的问题中,我们就可以看到如何帮助。抱歉,已更新。。。
 onclick="location.href='Index/#rooms'"
 onclick="location.href='@Url.Action("Index","ReferralTarget")/#rooms'"