Visual Studio调试中的简单MVC.net页面

时间:2017-05-24 01:05:26

标签: jquery asp.net-mvc

我是这个网站和Visual Studio的新手,但我正在尝试创建一个页面,一旦页面加载就会从服务器中获取一个字符串,并且还会有一个按钮,如果按下该按钮将请求另一个字符串从服务器。我有一个控制器和一个视图。我关注本网站的建议: http://www.itorian.com/2013/02/jquery-ajax-get-and-post-calls-to.html

所以在我的“关于”视图中我有:

 <!DOCTYPE html>
 <html>
<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>

<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript">
    var url = "/HomeController/getData";
    $.get(url,null, function (data) {
        $("#rData").html(data);
    });

 $('#btn').click(function () {
 var url = "/HomeController/getMoreData";
 $.get(url, null, function (data) {
  $("#rData").html(data);
});
})
</script>
</body>
</html>

这是我的控制器:

        public ActionResult About()
         {
          return View();
      }
    public String getData() {

        return DateTime.Today.ToString(); 
    }
    public String getMoreData()
    {
        return "hi";
    }

然而,当我在浏览器中查看页面时,脚本标签内的功能不会被执行(我只看到原始的HTML布局)。

你碰巧知道为什么会这样吗?

提前谢谢!

3 个答案:

答案 0 :(得分:0)

您缺少客户端代码中的jQuery脚本引用。添加后,您可以使用$ .get方法。在脚本标记之前添加以下内容。

<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js">
    </script>

您也不需要指定HomeController,只需指定Home。这是一个示例:

<button id="test" onclick="btnClicked();">Try it</button>


    <script type="text/javascript">
    function btnClicked(){
        $.get( "Home/ClickThis", function( data ) {
            alert( data );
        });
    }

</script>

在Home控制器中,添加一个方法:

        public string ClickThis()
    {
        return DateTime.Now.ToString("D");
    }

答案 1 :(得分:0)

df = pd.DataFrame({0:['a',1,2,3,'a',1,2,3],1:[10,20,30,40,50,60,70,80]})
unstacked = {}
for index, row in df.iterrows():
    if row.iloc[0] not in unstacked:
        unstacked[ row.iloc[0] ] = list(row[1::])
    else:
        unstacked[ row.iloc[0] ] += list(row[1::])


unstacked_df = pd.DataFrame.from_dict( unstacked, orient='index' )
print unstacked_df

    0   1
a  10  50
1  20  60
2  30  70
3  40  80

答案 2 :(得分:0)

我拿了你的代码并纠正了错误。现在它的工作

原始代码:

<!DOCTYPE html>
 <html>
<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>

<script type="text/javascript">
    var url = "/HomeController/getData";
    $.get(url,null, function (data) {
        $("#rData").html(data);
    });

 $('#btn').click(function () {
 var url = "/HomeController/getMoreData";
 $.get(url, null, function (data) {
  $("#rData").html(data);
});
})
</script>
</body>
</html>

更正后的代码:

<html>
<body>

<button type="button" id="btn">click the button</button>
<p id="rData">hello</p>
    <script src="~/Scripts/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            var url = "/Home/getData";
            $.get(url, null, function (data) {
                $("#rData").html(data);
            });

            $('#btn').click(function () {
                var url = "/Home/getMoreData";
                $.get(url, null, function (data) {
                    $("#rData").html(data);
                });
            })
        });
    </script>

</body>
</html>

重要亮点:

我纠正的非常重要的是,你已经把var url =“/ HomeController / getData”;这不是必要的,它不会工作。您必须单独提供控制器名称,即var url =“/ Home / getData”;

另一件事是,上面代码中缺少body标记和脚本引用的开头。

现在一切都得到了纠正,它正在发挥作用

其他信息:

我添加了为了您的方便在github中单独使用cshtml,您可以使用它。如果您需要。这是链接:https://github.com/KarthikElumalai/jqueryproj

希望信息有用,请让我知道您的想法或反馈

由于 KARTHIK