我正在研究Silverlight应用程序,该应用程序允许用户填写常用表单。针对DomainContext的Silverlight 4查询新条目
在我的mainpage.xaml我有4个按钮,允许用户创建一个新的窗体。我在点击事件处理程序上有以下代码
FormsDS t = new FormsDS();
Store s = new Store();
var i = (from j in t.Stores
where j.StoreManager.Contains(WebContext.Current.User.Name)
select j.ID);
form newxferform = new form
{
xfertype = 1,
createdate = DateTime.Now,
createdby = WebContext.Current.User.Name,
assignedto = WebContext.Current.User.Name,
Store = Int32.Parse(i.ToString()),
xferfrom = Int32.Parse(i.ToString()),
appovalstatus = 1,
ronum = "0",
hide = 0
};
t.forms.Add(newxferform);
t.SubmitChanges(createop =>
{
Uri target = new Uri("/views/TransferForm.xaml?FormID=" + newxferform.id, UriKind.Relative);
ContentFrame.Navigate(target);
}, null);
FormsDS是我的datacontext。 我想从顶部的查询中获取值i,并将其分配给newxferform中的Store和xferfrom值。但是,当我运行它时,我得到'输入字符串不是在一个正确的格式'。如果我不做Int32.Parse,我得到消息'不能隐式转换类型'System.Collections.Generic.IEnumerable'到'?int'。我不明白这一点,因为db中的所有列都不为空。我试过编写try catch来处理空值,但我无法弄清楚为什么这个值会返回为null,用户名和storemanager列完全匹配。我应该得到一个结果。
我试过了几种不同的方法,我似乎无法得到它。
我只需要从名为stores的表中获取ID字段,其中column StoreManager等于当前登录的用户,并在创建表单时将其分配给名为表单的表中的store和xferfrom字段。
我认为比我想要的更难的是,我没有在页面上的xaml中定义anyhere的DataContext。这只是一个导航页面。数据在载入导航框架的页面中处理。
任何帮助将不胜感激。
谢谢,
尼尔
你能告诉类定义,或实体框架(或其他)模型由服务器端? 或者更快一点,form.Store和form.xferfrom的类型是什么? – 2011-02-06 08:51:41