按钮OnClick ="btnSave_Click"在MVC应用程序中不起作用

1 asp.net-mvc-2

我是MVC架构的新手,我正在努力获得Button onclick.请帮我跟踪一下这个问题.我有一个Telerik TreeView控件,它已填充.一些节点具有子节点,而其中一些节点没有.

请告诉我需要做些什么更改才能解决这个问题在这里,我正在努力让它发挥作用.

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/PostLogin.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<applications>>" %>

<%@ Import Namespace="ApplicationGrps" %>

<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %>


<script runat="server" type="text/javascript">

    protected void Page_Load()
    {

        ApplicationGrps.Visible = true;
        ApplicationGrps.DataSource = ODS1;

        ApplicationGrps.DataFieldID = "ApplicationName";
        ApplicationGrps.DataFieldParentID = "ParentID";

        ApplicationGrps.DataBind();
        BindCheckedTags(ApplicationGrps);
    }

    protected void BindCheckedTags(RadTreeView treeView)
        {
          // Displays the checked nodes
        }


        protected void ODS2_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            e.InputParameters["ClientID"] = ViewData["ClientID"];
        }

    protected void btnSave_Click(object sender, EventArgs e)
        {
               //Iterate through the tree and get all the nodes that are checked and submit it.
        }
</script>


<asp:Content ID="Content2" ContentPlaceHolderID="HeadContent" runat="server">
    <link href="<%: Url.Content("~/Content/script-libraries/jquery-ui-1.7.2.custom/css/smoothness/jquery-ui-1.7.2.custom.css") %>"
        rel="stylesheet" type="text/css" />
    <script src="<%: Url.Content("~/Scripts/jquery-1.4.1.js") %>" type="text/javascript"></script>

</asp:Content>


<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <form id="form1" runat="server" method="post">

     <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>

       <telerik:RadTreeView id="AppModulesTreeView" runat="server" CheckBoxes="True" Visible="true" >


</telerik:RadTreeView>

<asp:ObjectDataSource ID="ODS1" runat="server" 
    SelectMethod="GetAllApplicationModules"
    TypeName="ELS.BOS.Services.EntitlementProxy.EntitlementServiceClient">
</asp:ObjectDataSource>

<asp:ObjectDataSource ID="ODS2" runat="server" 
    SelectMethod="GetApplicationModMappedByClientID" 
    TypeName="ELS.BOS.Services.EntitlementProxy.EntitlementServiceClient" 
          onselecting="ODS2_Selecting">
    <SelectParameters>
        <asp:Parameter Name="ClientID" Type="String" />
    </SelectParameters>
</asp:ObjectDataSource>
      <%--  <telerik:RadButton runat="server" onclick="btnSave_Click" 
            Text="Save">
        </telerik:RadButton>
        <telerik:RadButton ID="btnCancel" runat="server" Text="Cancel" 
            >
        </telerik:RadButton>--%>


        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="btnSave_Click" />

    </div>
    </form>


</asp:Content>
Run Code Online (Sandbox Code Playgroud)

如果我需要使用javascript或jquery来使这个工作,请告诉我.请给我一些关于如何在按钮控制点击时触发btnSave_click的示例.

谢谢!

Dar*_*rov 7

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="btnSave_Click" />,asp:ObjectDataSource,ScriptManager,...在ASP.NET MVC应用程序?

没有.

在ASP.NET MVC应用程序中,您不使用服务器端控件(否runat="server").你没有PostBack.没有ViewState.没有代码.没有事件.没有脚本管理器.没有对象数据源.所有这些都是WebForms特有的,不再用于MVC.

在ASP.NET MVC应用程序中,您有一个Controller,一个Model和一个View.该视图包含标准HTML标记,可以借助HTML帮助程序生成标记.要调用控制器,您可以使用普通链接:

<%= Html.ActionLink("link text", "actionName", "controllerName") %>
Run Code Online (Sandbox Code Playgroud)

控制器包含操作模型的操作,并通过传递它需要显示的所有信息来选择要渲染的视图.

我强烈建议你开始阅读这里的教程:http://asp.net/mvc关于MVC如何工作并熟悉这个框架的基础知识.