加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何在.aspx页面的文件后面创建多个代码

发布时间:2020-12-16 06:33:26 所属栏目:asp.Net 来源:网络整理
导读:我有一种情况,我需要在c#asp.net中为单个.aspx页面创建多个代码.实际上我有一个网络表格,完成了巨大的编码,我需要多个开发人员同时处理它.我怎样才能实现同样的目标? 这是我试过的代码片段 Class 1 MyPartialClass.cs namespace WebApplication1{ public pa
我有一种情况,我需要在c#asp.net中为单个.aspx页面创建多个代码.实际上我有一个网络表格,完成了巨大的编码,我需要多个开发人员同时处理它.我怎样才能实现同样的目标?

这是我试过的代码片段

Class 1 MyPartialClass.cs

namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        protected void PrintText(string pt)
        {
            Response.Write(pt);
            //lblTest.Text = pt;    //Can not access this label in partial class.
        }
    }
}

第2类是Default.aspx.cs

namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender,EventArgs e)
        {
            PrintText("Hello World");
        }
    }
}

和我的HTML源代码

<%@ Page Language="C#" AutoEventWireup="false" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblTest" runat="server"></asp:Label>
    </div>
    </form>
</body>
</html>

解决方法

ASP.NET将始终在文件后面生成代码作为部分类

namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender,EventArgs e)
        {

        }
    }
}

如果将定义视为部分定义并将类保留在同一名称空间下,则可以将不同文件中的代码分开.

编辑:Web项目

//Default.aspx
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master"     AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Label ID="lblTest" runat="server" Text="Label"></asp:Label>
</asp:Content>

//Default.aspx.cs
namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender,EventArgs e)
        {
            PrintText("Hello World");
        }
    }
}

//MyPartialClass.cs
namespace WebApplication1
{
    public partial class Default
    {
        protected void PrintText(string pt)
        {
            Response.Write(pt);
            lblTest.Text = pt;    //lblTest is accessible here
        }
    }
}

我没有修改任何其他生成的文件.我要提到的一件事是,生成的Default.aspx.cs文件是使用类名“_Default”生成的.我已将其更改为Default并且Visual Studio重构了包含该类定义的所有文件的更改,但Default.aspx文件除外,我必须手动将其从Inherits =“WebApplication1._Default”修改为Inherits =“WebApplication1”.默认”.

编辑2:

我一直在网上搜索,根据http://codeverge.com/asp.net.web-forms/partial-classes-for-code-behind/371053,你要做的事情是不可能的.同样的想法在http://codeverge.com/asp.net.web-forms/using-partial-classes-to-have-multiple-code/377575详细说明
如果可能,请考虑从Web站点转换为Web应用程序,它支持您尝试实现的目标.以下是有关如何执行此转换的演练:http://msdn.microsoft.com/en-us/library/vstudio/aa983476(v=vs.100).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读