0

我正在使用 lightswitch,并且能够使用 Created() 方法为字段设置默认值。现在我可以明确地设置这个值。我的查询有一个过滤它的参数。我想设置将要提供动态值的字段的默认值。我怎么做?下面是我所拥有的..

partial void Payperiod_Created()
{

    this.EstateID = 5;
}

已编辑

public partial class sspDataService我在.. 将返回我想要的值的数据服务类中创建了一个方法方法 。我的意图是创建一个全局变量。

public string estateName()
{

    string esName = "";
    string uName = this.Application.User.Identity.Name;
    try
    {
        var qryUser =

            this.aspnet_Users.Where(a => (a.UserName == uName)).SingleOrDefault();
        esName = qryUser.PayGroup;

    }
    catch (Exception e)
    {

        Debug.WriteLine(e.InnerException.ToString());
    }
    return esName;
}

但是我无法在我的方法中访问此Payperiod_Created()方法。希望这可以帮助。

4

2 回答 2

0

您可以将参数声明为 Nullable Int (int?),它是一种接受 null 或 int 值的变量类型。然后检查提供的空值,​​如果为空,则可以设置为默认值:

public void ExecuteQuery(int? myParam)
{
   EstateId = myParam ?? EstateId;
   // Execute your query...
}

现在,表达式EstateId = myParam ?? EstateId;是一个 IsNull 运算符,相当于“将 EstateId 值设置为 myParam 值,除非它为 null,然后将其设置为现在的任何 EstateId 值”,或者换句话说:

if(myParam != null) { EstateId = myParam; } 
于 2013-11-26T17:46:52.753 回答
0

你能详细说明吗?(具体来说,如何提供价值?)

对于具体的方法,您只需将值传递给方法本身,以便您的方法的定义变为:

partial void Payperiod_Created(int newVal)
{
    this.EstadeID = newVal;
}

然后无论您在哪里调用该方法,都包含新值:

Payperiod_Created(5);    //this will EstateID to 5
于 2013-11-26T17:32:14.553 回答