Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取url参数_C#_Asp.net - Fatal编程技术网

C# 获取url参数

C# 获取url参数,c#,asp.net,C#,Asp.net,这就是我要做的。我正在尝试将下拉选择的值传递给我的控制器 我有这样一个下拉菜单: @Html.DropDownList("divs", null, "--Select--", new {id="divs", onchange="SelectedIndexChanged(this.value);" })&nbsp;&nbsp; @section Scripts { <script> function SelectedIndexChanged(divs

这就是我要做的。我正在尝试将下拉选择的值传递给我的控制器

我有这样一个下拉菜单:

@Html.DropDownList("divs", null, "--Select--", new {id="divs", onchange="SelectedIndexChanged(this.value);" })&nbsp;&nbsp;

@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);
        });
    });
});