Master.FindControl(HiddenField)常用方法

时间:2017-07-18 17:12:03

标签: asp.net master-pages

希望找到一种从母版页获取所有隐藏字段值的常用方法

字段将添加到母版页中,隐藏字段值必须根据客户端页面请求从母版页获取

使用代码示例实现此功能的任何好/更好的方法?提前致谢

1 个答案:

答案 0 :(得分:1)

不清楚您需要它的位置,或者您需要的数据,但是您可以从主页代码中找到:

var values = (from HiddenField hidden in Controls select hidden.Value)
  .ToList();

这将填充Value所有HiddenField

public partial class MyMasterPage : MasterPage { public string Hidden1Value { get { return Hidden1.Value; } set { Hidden1.Value = value; } } public string Hidden2Value { get { return Hidden2.Value; } set { Hidden2.Value = value; } } } 属性的值

更新

关闭您的母版页只是暴露一些属性:

var master = (MyMasterPage) Page.Master;
master.Hidden1Value = "something";

然后在您的页面代码中:

public class CommonMethods
{
    public static void SomeMethod(MyMasterPage master)
    {
        master.Hidden1Value = "something";
    }
}

在您的CommonMethods类中引用这些隐藏的值,如下所示:

CommonMethods.SomeMethod((MyMasterPage) Master);

然后来自您的aspx页面的调用,例如:

_myLogger.Info()
       .Message("your log message.")
       .Property("property1", "value1")
       .Write();

_myTarget.IncludeAllProperties=True;   // Must set on the Elasticsearch target

备注:我强烈建议您更改架构,不要这样做。不建议在代码周围传递MasterPage实例。