我在Sharepoint网站中使用表单基本身份验证。在我的登录页面上,有未经身份验证的用户填写的自定义字段。这些字段我想添加到我的列表中。我使用以下代码在列表中插入记录。
protected void AddVendor(object sender, EventArgs e)
{
string strList = "http://comp01:5353/Lists/Vendors/";
using (SPSite site = new SPSite(strList))
{
site.AllowUnsafeUpdates = true;
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPUser user = web.AllUsers["demouser"];
SPList list = web.Lists["Vendors"];
SPListItem Item = list.Items.Add();
Item["First Name"] = txtVendorName.Text;
Item["Last Name"] = txtVLastName.Text;
Item["business"] = txtDescription.Text;
Item["Description"] = txtDescription.Text;
Item["Mobile No"] = txtMobileNumber.Text;
Item["Approved"] = "No";
Item["Created By"] = "demoadmin";
Item["Modified By"] = "demoadmin";
Item.Update();
}
}
}
但是给我一个错误,说线程正在中止。我不知道究竟缺少了什么。但是因为我正在执行添加操作而用户未经过身份验证...?
答案 0 :(得分:0)
你在哪里写过这段代码,是否在某些事件中?登录控制提供两个可帮助您解决此问题的事件
OnLoginError="OnLoginError" OnLoggedIn="OnLoggedIn"
我做了类似的功能,我希望将用户名loggin捕获到站点并将其记录到数据库表。并且就ThreadAbort异常而言,当您在执行代码时使用Response.Redirect时会发生这种情况。在你的情况下,我怀疑它被抛出,因为你试图做上面的代码,但FBA系统试图将用户重定向到default.aspx。试试上面说的登录控制事件它应该对你有帮助。
答案 1 :(得分:0)
我不知道它是否会对您有所帮助,但代码(fe) 项目[“修改者”] 将无效,因为这是内部的名称 Modified_x0020_By 。这适用于所有带有“空格”的字段。
这可能是你的问题之一......