小编Roh*_*nsi的帖子

为什么我无法访问usercontrol中的页面视图状态?

我在Page的viewstate中存储了一个对象.现在,当我在usercontrol上访问相同的viewsate对象时,它显示为null.我甚至尝试在usercontrol和page中创建具有相同名称的相同viewstate.Both拥有不同的值.

我知道viewstate是受保护的属性.这个东西如何在上面的场景中实现,或者是否有任何其他原因导致这种行为.

编辑:

Usercontrol在页面标记中.我没有动态加载它.

我有一个页面EditFacilityworkType.aspx.在页面上,我有一个usercontrol FacilityWorkTypeDetails.aspx(FacilityWorkTypeDetails1).在这个usercontrol里面我有一个用户控件Workflow.aspx(Workflow1)

Page的Page_Load()我正在页面的page_load()上检索workflowdetails.

 FacilityWorktype facilityWorkType = facilityDetails.GetFacilityWorktypeDetail(SessionHelper.FacilityWorkTypeID);
 ViewState["WorkFlow"] = facilityWorkType.FacilityWorkTypeWorkFlow
Run Code Online (Sandbox Code Playgroud)

在usercontrol FacilityWorkTypeDetails.aspx中.我有一个房产

 public FacilityWorktype FacilityWorkTypeDetails
{
    get
    {
        #region Fill FacilityWorktype
        return GetEntityFromControl();
        #endregion
    }
    set
    {
        PopulateControls(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我在页面的页面加载中设置此属性

FacilityWorkTypeDetails1.FacilityWorkTypeDetails = facilityWorkType;
Run Code Online (Sandbox Code Playgroud)

在Workflow.aspx里面,我有一个属性

/// <summary>
/// Property to fill entity object from controls on this page
/// </summary>
public WorkFlow WorkFlowDetails
{
    get
    {
        return GetEntityFromControls();
    }
    set
    {            
        BindTranscriptionMethodDDL(ddlTranscMethod);
        PopulateControls(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在是FacilityWorkTypeDetails1的PopulateControls(),我正在设置workflow1的属性

private void PopulateControls(FacilityWorktype value){

    Workflow1.WorkFlowDetails = value.FacilityWorkTypeWorkFlow;
}
Run Code Online (Sandbox Code Playgroud)

现在当我从中检索值时

 private …
Run Code Online (Sandbox Code Playgroud)

asp.net

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

为什么win32异常没有被c#异常处理机制捕获

我有一个winforms application.Winforms开始于Program.cs我们有main()定义.我已将此代码放在try-catch块中.

 [STAThread]
    static void Main()
    {
        try
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmSplash());
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            if (ex.InnerException != null)
            {
                MessageBox.Show(ex.InnerException.ToString());
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

只要有win32异常,此机制就会失败,并且抛出未处理的异常消息并且应用程序崩溃.
关于此代码我有2个问题:

1)为什么没有抓住win32异常.

2)在最高级别捕获异常是一种好的做法.

c# exception-handling winforms

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

Convert.ToBoolean("1")在C#中抛出System.Format异常

为什么

Convert.ToBoolean("1") 
Run Code Online (Sandbox Code Playgroud)

扔一个System.FormatException

我应该如何进行此转换?

c#

14
推荐指数
2
解决办法
9624
查看次数

如何在c#中为泛型委托声明泛型事件

我有一个用户控件来处理fileupload.我已经定义了一个委托如下

public delegate void FileUploadSuccess<T>(T value,FileUploadType F)
Run Code Online (Sandbox Code Playgroud)

value可以是字符串也可以是字节数组.FileUploadType是一个枚举,它告诉上传了哪种类型的文件.

现在我在usercontrol中声明了一个事件来提高它.

public event FileUploadSuccess<string> successString;   //In case I want a file name

public event FileUploadSuccess<Byte[]> successStringImage;  // In case I want a byte[] of uploaded image
Run Code Online (Sandbox Code Playgroud)

我想要的是一般事件

public event FileUploadSuccess<T> successString. 
Run Code Online (Sandbox Code Playgroud)

.net c#

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

为什么我们需要在c#中使用迭代器?

有人可以提供关于迭代器使用的真实例子.我试着搜索谷歌,但对答案不满意.

c# iterator

11
推荐指数
3
解决办法
4875
查看次数

SQL SERVER中"&"运算符的用法是什么

在下面指定的代码中使用&运算符有什么用处.使用&而不是"AND"有什么好处.请详细说明.

CASE ( C.[Status] & F.[Status] & D.[Status] & DWT.[Status] & P.[Status] )
    WHEN 1
        THEN CASE ( C.IsDeleted & F.IsDeleted & D.IsDeleted & P.IsDeleted )
        WHEN 0 THEN NULL
        ELSE 7
        END
    ELSE 6
END
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

这些连接字符串的区别?

谁能告诉我以下连接字符串之间的有效区别:

<add key="ConnectionString" value="server=tcp:192.168.0.12\Sqlserver2005;database=;user id=sa;password=;">



<add key="ConnectionString" value="server=192.168.0.12\Sqlserver2005;database=;user id=sa;password=;Network Library=DBMSSOCN;">
Run Code Online (Sandbox Code Playgroud)

我相信两者都是一样的.指定"网络库= DBMSSOCN"使用TCPIP显式连接,并且前缀服务器值与TCP做同样的事情.

请告诉我在web.config中指定这些设置是否存在任何差异或性能影响.

asp.net performance connection-string

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

当C#中变量的值发生变化时,如何执行代码?

我希望在特定变量的值发生变化时切换按钮的可见性.有没有办法将某种委托附加到一个变量,该变量在值变化时自动执行?

c# variables delegates

8
推荐指数
2
解决办法
3915
查看次数

如何以编程方式触发dropdownlist.selectedindexchanged事件

我有一些代码在用户选择下拉列表中的项目时触发.现在,我想以编程方式设置selectedindex时触发相同的代码.

我试过设置

ddlSystemLevelDCP.SelectedIndex=2;
Run Code Online (Sandbox Code Playgroud)

这也是

ddlSystemLevelDCP.SelectedValue="2";
Run Code Online (Sandbox Code Playgroud)

他们都没有发动这件事.但是,当用户更改选择时,将触发此事件.

asp.net

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

接口是否是最高级别的抽象?

我对抽象和封装感到困惑.我觉得这个类是封装,因为它封装了数据和行为,而接口是抽象的.请注释

oop interface

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