将字段的默认值设置为参数的值

时间:2013-11-26 17:23:12

标签: c# asp.net lightswitch-2012

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

partial void Payperiod_Created()
{

    this.EstateID = 5;
}

被修改

我在public partial class sspDataService中创建了一个方法方法..数据serivce类,它将返回我想要的值。我的目的是创建一个全局变量。

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()方法中访问此方法。希望这会有所帮助。

2 个答案:

答案 0 :(得分:0)

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

具体来说,您需要将值传递给方法本身,以便方法的定义变为:

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

然后,只要您调用该方法,就可以包含新值:

Payperiod_Created(5);    //this will EstateID to 5

答案 1 :(得分:0)

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

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

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

if(myParam != null) { EstateId = myParam; }