C# 获取url参数
这就是我要做的。我正在尝试将下拉选择的值传递给我的控制器 我有这样一个下拉菜单:C# 获取url参数,c#,asp.net,C#,Asp.net,这就是我要做的。我正在尝试将下拉选择的值传递给我的控制器 我有这样一个下拉菜单: @Html.DropDownList("divs", null, "--Select--", new {id="divs", onchange="SelectedIndexChanged(this.value);" }) @section Scripts { <script> function SelectedIndexChanged(divs
@Html.DropDownList("divs", null, "--Select--", new {id="divs", onchange="SelectedIndexChanged(this.value);" })
@section Scripts
{
<script>
function SelectedIndexChanged(divs) {
document.getElementById('divs').href =
'/Controllers/MyFunction?divs=' + divs;
}
</script>
}
从我的头编译器中输入这个,这样可能不太正确,但应该可以让您更接近
@Html.DropDownList("divs", null, "--Select--", new { id="divs"})
@section Scripts
{
<script>
$(function() {
$("#divs").change(function() {
val selected = $(this).find(":selected").val();
$.ajax({
type: 'POST',
url: '@Url.Action("MyFunction", "Controller", new { divs = selected })',
dataType: 'json',
});
});
});
</script>
}
我相信这就是你想要做的。这不是一个完整的解决方案,你必须解决它 注意:我将jQuery用于javascript部分 行动:
public JsonResult MyFunction (string divs)
{
return Json(divs, JsonRequestBehavior.AllowGet);
}
视图:
您可以从下拉声明中删除该javascript绑定。1。问题是什么?2.为什么要同时从参数和查询字符串中获取
divs
?3. messagebox.show()类型代码>无效。4.这是空的
是什么意思?在选择上设置href
(这就是@Html.DropDownList
的作用)毫无意义。@Menew抱歉,这还没有意义。你需要做什么?回答你想问的问题:假设其他一切都设置正确,MyFunction?divs=something
是调用MyFunction(stringdivs)
并给divs
一个something
值的非常有效的方法。您不需要使用Request.QueryString
。此时的问题似乎是您从未真正调用过该URL。@Andre如果您从上面阅读,我会尝试将下拉菜单发送到我的控制器,因此我使用javascript处理onchange事件。但是,url不会被重定向。该值为空。实际上,我只需调用以下命令即可使其正常工作:window.top.location.href='http://'+document.domain+this.options[this.selectedIndex]。值位于所选选项的右侧。谢谢你。
public ActionResult MyFunction (string divs)
{
...
}
public JsonResult MyFunction (string divs)
{
return Json(divs, JsonRequestBehavior.AllowGet);
}
$(function() {
$("#divs").changed(function() {
$.ajax({
url: '/controllers/myfunction'
, cache: false
, type: 'GET'
, dataType: 'json'
, data: { divs = $(this).val() }
}).done(function (data) {
alert(data);
});
});
});