标签: code-behind

C#:如何将网站项目转换为Web项目

更新:所有这些问题都是在Visual Studio中将网站应用程序转换为Web项目.一旦我挖出并找到了解决方案,我在下面标记为答案.

基本上,如果您想要将您的网站项目升级/移动到Web项目,您将遇到许多错误.简短的操作方法在下面的答案中.谢谢大家的意见和帮助.

旧问题和标题如下:

如何将名称空间xx {}包装到所有类文件中?

如何将命名空间包装到webproject(或任何项目)中的所有代码隐藏文件?

namespace MyDomain
{
  // regular code here
}
Run Code Online (Sandbox Code Playgroud)

长话短说...

我一直在转换一个外包给海外的项目.仅在"网络"项目中就有超过20,000个文件,用于这样一个简单的网站(摇头).它是使用VB.NET和C#在vs2005中编写的(是的,两个编译).它最初是一个网站应用程序.我已将其转换为Web应用程序,主要是因为您发布时生成的8,000个"临时"程序集.

好的,我正在转换到VS2008.我已将所有代码转换为C#.看起来不错.我把所有特殊的App_Code/VB和C#代码都带到了单独的程序集中.

现在,当我再次尝试编译时,我会收到大量错误的警报.我通过将代码隐藏文件包装在命名空间中来修复这些问题,并更新usercontrol以使用新的命名空间.

但是......还有5000多个错误...帮助!

alt text http://eduncan911.com/blog/thumbnail/4-15-2009.6-00-13.PM.png

也许有另一种方式?以下是代码隐藏的示例代码段:

public partial class MyHomepage_MyStuff_MyPosts : SecurePage
{ ... }
Run Code Online (Sandbox Code Playgroud)

注意类名MyHomepage_MyStuff_MyPosts.这是指向/MyHomepage/MyStuff/MyPosts.aspx文件位置的目录路径.

错误是代码隐藏文件无法找到对正在使用的控件的引用.如:

ctl_website_rpt.RowCount = _totalCount;
Run Code Online (Sandbox Code Playgroud)

这是ASPX文件中名为"ctl_website_rpt"的控件(它们的命名约定).aspx页面在标题中:

<%@ Page Title="My Posts" Language="C#" 
  MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true" 
  CodeFile="MyPosts.aspx.cs" 
  Inherits="MyHomepage_MyStuff_MyPosts" %>
Run Code Online (Sandbox Code Playgroud)

也许有一种方法可以在其他地方引用这个页面?无需将其更改为命名空间?

namespace Website.MyHomepage.MyStuff
{
  public partial class MyPosts
  { ... }
}

<%@ Page Title="My Posts" Language="C#" 
  MasterPageFile="~/MasterPages/Main.master" AutoEventWireup="true" 
  CodeFile="MyPosts.aspx.cs" 
  Inherits="Website.MyHomepage.MyStuff.MyPosts" %>
Run Code Online (Sandbox Code Playgroud)

c# namespaces code-behind visual-studio

6
推荐指数
1
解决办法
5615
查看次数

ASP.NET MVC视图 - 我可以使用代码隐藏

我是MVC的新手,我注意到所有混合脚本标签的视图页面看起来都很糟糕.在视图代码隐藏中的方法中生成HTML然后只是将方法的字符串结果作为单个脚本插入是否有意义?

例如: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

这与MVC理念相反吗?愚蠢的其他一些原因,如表现?它有什么优点吗?

model-view-controller asp.net-mvc code-behind

5
推荐指数
2
解决办法
4134
查看次数

Asp.Net(vb)在代码隐藏中强制回发

我需要一种在代码隐藏中强制回发或页面重新加载的方法.尝试使用一些JavaScript,但没有让它工作.浏览网页我看到第一个问题是"为什么"?

情况是我在autopostback上有一个下拉列表,gridview数据源的select参数是从该下拉列表的选定值派生的.因此,页面正常工作正常,并且每当更改所选项目时内容都会更新.但是一些链接和按钮将客户从页面上移开,以便稍后链接回来.

我们的想法是将最后一个选项存储在会话中,并在会话选项不是默认值时检查第一个page.load事件.现在我可以根据它更改下拉列表的selectedindex,但显然数据源触发的速度比page.load快,所以除非我可以强制重新加载,否则这无济于事.

有任何想法吗?完整页回发/重新加载当然不是唯一的选择,只是强制gridview/datasource刷新就足够了.除了重新加载整个页面之外,我只是不知道该怎么做.

谢谢.

asp.net postback code-behind reload

5
推荐指数
1
解决办法
3万
查看次数

ASP.NET - 内联与代码隐藏

我意识到,通过提出这个问题,我本可以开始启示,但是我的同事在他们的aspx页面中使用了大量的内联编码,而我更喜欢使用代码隐藏.

这里有正确与错误的方式吗?

asp.net inline code-behind

5
推荐指数
2
解决办法
6287
查看次数

在代码隐藏中完全设计所有页面?

我们当前的Web门户是一个来自经典ASP代码库的端口.目前,我们项目中的所有页面扩展了一个Page名为的自定义类PortalPage.它处理登录/注销,为User当前经过身份验证的用户提供对公共对象的访问,并将标准页眉和页脚添加到我们的所有页面.

我们网站中的每个页面都是100%在代码隐藏中设计的.根本不使用ASPX页面.每个div,img和文本块都被分配为一个对象并从C#函数中添加,即使它是完全静态的内容(我们有相当数量).

页眉的示例:

HtmlGenericControl wrapperDiv = new HtmlGeneric("div");
HtmlAnchor bannerLink = new HtmlAnchor();
HtmlImage banner = new HtmlImage();

bannerLink.HRef = "index.aspx";
banner.Src = "mybanner.png";
banner.Alt = "My Site";

bannerLink.Controls.Add(banner);
wrapperDiv.Controls.Add(bannerLink);
this.Page.Controls.Add(wrapperDiv);
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,所有Javascript都被添加到页面中,作为字符串连接的巨大混乱:

ClientScript.RegisterClientScriptBlock(this.GetType(), "javascript", @"
    <script language='javascript'>
        fullUrl = '" + ConfigurationManager.AppSettings["fullUrl"].ToString() + @"';
        function showModule()
        {
            $('#" + this.userModule.ClientID + @"').css('display','block');
            $('#" + this.groupModule.ClientID + @"').css('display','none');
            $('#" + this.listsModule.ClientID + @"').css('display','none');
            $('#" + this.labelsModule.ClientID + @"').css('display','none');
        }
Run Code Online (Sandbox Code Playgroud)

目前,我的一位同事正在争辩说,在代码隐藏中分配每个对象比使用我看到的每个其他Web应用程序使用的ASPX w/Codebehind方法快数百倍.这违背了我的直觉,因为它实际上是添加runat="server"到页面上的每一段HTML. …

c# asp.net webforms code-behind

5
推荐指数
3
解决办法
387
查看次数

何时使用javascript而不是创建aspx页面?

我是C#.Net的新手,我有一个问题,我无法在互联网上找到.我何时应该使用html + javascript + css的经典组合,而不是使用带有代码的aspx页面?正如我从.net开始经历的那样,我发现aspx页面和代码背后对开发人员来说非常容易.自从我开始以来,我不需要任何javascript代码.一定有什么不对劲.我想我错过了一点.你能否回答我的问题并告诉我一些例子,我必须使用html + javascript + css而不是aspx + aspx.cs,反之亦然?祝你今天愉快.

html javascript c# asp.net code-behind

5
推荐指数
2
解决办法
2116
查看次数

如何在页面加载时使用codebehind将html代码部分插入特定位置

我有一个aspx页面,我需要检查并在页面上显示错误消息page_load.错误消息如下:

<div class="errorMessage">The user ID or password you entered does not match our records. Please try again. <br /> 
        You may also securely recover your <a href="#">User ID</a> or reset your <a href="#">Password</a> online. 
    </div>
Run Code Online (Sandbox Code Playgroud)

在解决了一些条件之后,应该将这个代码块添加到页面中......并且该部分和其他一些函数在代码中实现了behide函数 page_load()

我如何只使用page_load()函数中的代码后面而不在aspx文件中内联编写?

html c# asp.net codeblocks code-behind

5
推荐指数
1
解决办法
2万
查看次数

如何在代码后面访问span id

我有一个带有以下控件的asp网站:

    <span id="expTrainingShow" class="clsLink" style="margin-left: 20px;" onclick="GridChanger();">
        + Show Expired Continuing Education</span>
Run Code Online (Sandbox Code Playgroud)

我想根据后面代码中设置的条件隐藏它.我可以访问这样的跨度ID吗?(该网站使用visual basic构建)

html vb.net asp.net code-behind

5
推荐指数
1
解决办法
3万
查看次数

将<a> href绑定到Code Behind属性

我想在我的代码隐藏文件中设置一个公共属性,然后使用该属性来设置几个HtmlGenericControl <a>标记的href属性.这是我尝试过的:

代码背后:

public partial class className: System.Web.UI.MasterPage
{
        private string _linkValue = "";
        public string linkValue {
            get { return _linkValue; }
        }

        protected void Page_Load (object sender, EventArgs e)
        {
             SetLink();
        }

        private void SetLink()
        {
             _linkValue = "myUrl";
        }
}
Run Code Online (Sandbox Code Playgroud)

.aspx文件

<ul>
     <li><a runat="server" href="<%= linkValue %>">Link 1</a></li>
     <li><a runat="server" href="<%= linkValue %>">Link 2</a></li>
     <li><a runat="server" href="<%= linkValue %>">Link 3</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

href不是将href设置为"myUrl",而是将其设置为"myUrl" %3C%25=%20linkValue%25%3E1

asp.net data-binding properties code-behind hyperlink

5
推荐指数
1
解决办法
3469
查看次数

从XAML调用代码隐藏中定义的自定义依赖项属性

是否可以在定义它的元素的XAML中调用自定义依赖项属性?

我的意思是,我的mainWindow有以下简单代码:

public partial class MainWindow : Window
{

    public static readonly DependencyProperty SpecialToProperty =   DependencyProperty.Register("SpecialTo", typeof(double), typeof(MainWindow));

    public MainWindow()
    {

        InitializeComponent();

    }

    public double SpecialTo
    {
        get
        {
            return (double)GetValue(SpecialToProperty);
        }
        set
        {
            SetValue(DoubleAnimation.ToProperty, value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从MainWindow类的XAML部分代码中使用该依赖项属性?

我的意思是:

<Window x:Class="WpfAnimationTEst.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"        
    SpecialTo=200>
Run Code Online (Sandbox Code Playgroud)

我知道可以使用附加的依赖属性来完成它,但这是唯一的方法吗?是不是可以调用代码隐藏中定义的依赖项属性?

谢谢你,如果这个问题有点愚蠢,我很抱歉,我只是在学习并试图理解WPF.

wpf xaml dependency-properties code-behind

5
推荐指数
1
解决办法
2561
查看次数