sharepoint 查阅项的基本操作

1)前台Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="LookupDemo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <span>姓名</span><asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />
        <span>爱好</span><asp:ListBox ID="lstHobby" runat="server" SelectionMode="Multiple"></asp:ListBox><br />
        <asp:Button ID="btnAdd" runat="server" Text="添加" οnclick="btnAdd_Click" />
        <table>
        <asp:Repeater ID="rptStudent" runat="server">
            <HeaderTemplate>
                <tr>
                    <td>姓名</td>
                    <td>爱好</td>
                </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%#Eval("Name") %></td>
                    <td><%#Eval("Hobby") %></td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
        </table>
    </div>
    </form>
</body>
</html>
2)后台

1.Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using System.Data;

namespace LookupDemo
{
    public partial class _Default : System.Web.UI.Page
    {
        private string webUrl = "http://dg-caozhenhua:88/";
        private string studentListName = "student";
        private string hobbyListName = "hobby";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindHobby();
                BindStudent();
            }
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            string name = txtName.Text;
            List<Hobby> hobbies = GetSelectedHobby();
            if (AddStudent(name, hobbies))
            {
                Page.ClientScript.RegisterStartupScript(GetType(), "add_success", "alert('add success!');", true);
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(GetType(), "add_failure", "alert('add failure!');", true);
            }
            BindStudent();
        }
        /// <summary>
        /// 获取选中的爱好(hobby)
        /// </summary>
        /// <returns></returns>
        private List<Hobby> GetSelectedHobby()
        {
            List<Hobby> hobbies = new List<Hobby>();
            for (int i = 0; i < lstHobby.Items.Count; i++)
            {
                if (lstHobby.Items[i].Selected)
                {
                    Hobby hobby = new Hobby();
                    hobby.Id = Convert.ToInt32(lstHobby.Items[i].Value);
                    hobby.Hob = lstHobby.Items[i].Text;
                    hobbies.Add(hobby);
                }
            }
            return hobbies;
        }
        /// <summary>
        /// 将学生信息绑定到rptStudent(repeater)
        /// </summary>
        private void BindStudent()
        {
            rptStudent.DataSource = GetAllStudent();
            rptStudent.DataBind();
        }
        /// <summary>
        /// 添加学生信息
        /// </summary>
        /// <returns></returns>
        private bool AddStudent(string name,List<Hobby> hobbies)
        {
            bool flag = false;
            SPSecurity.RunWithElevatedPrivileges(
                delegate() {
                    using (SPWeb web = new SPSite(webUrl).OpenWeb())
                    {
                        web.AllowUnsafeUpdates = true;
                        SPList list = web.Lists["student"];
                        SPListItem item = list.Items.Add();
                        item["Title"] = name;
                        SPFieldLookupValueCollection lookupItems = new SPFieldLookupValueCollection();
                        foreach (Hobby hobby in hobbies)
                        {
                            SPFieldLookupValue lookupItem = new SPFieldLookupValue(hobby.Id,hobby.Hob);
                            lookupItems.Add(lookupItem);
                        }
                        item["hobby"] = lookupItems;
                        try
                        {
                            item.Update();
                            flag = true;
                        }
                        catch (Exception ex)
                        { flag = false; }
                    }
                });
            return flag;
        }
        /// <summary>
        /// 获取所有的学生信息(将查阅项中的信息筛选)
        /// </summary>
        /// <returns></returns>
        private List<Student> GetAllStudent()
        {
           List<Student> students=new List<Student>();
            SPSecurity.RunWithElevatedPrivileges(
                delegate() {
                    using (SPWeb web = new SPSite(webUrl).OpenWeb())
                    {
                        SPList list = web.Lists[studentListName];
                        SPQuery query = new SPQuery();
                        query.ViewFields = "<FieldRef Name='Title'/><FieldRef Name='hobby'/>";
                        SPListItemCollection items = list.GetItems(query);
                        foreach (SPListItem item in items)
                        {
                            Student student = new Student();
                            student.Name = item.Title;
                            SPFieldLookupValueCollection lookupItems = new SPFieldLookupValueCollection(item["hobby"].ToString());
                            foreach (SPFieldLookupValue lookupItem in lookupItems)
                            {
                                student.Hobby += lookupItem.LookupValue + ";";
                            }
                            students.Add(student);
                        }
                    }
                });
            return students;
        }
        /// <summary>
        /// 获取所有的爱好绑定到lstHobby(listview)
        /// </summary>
        private void BindHobby()
        {
            SPSecurity.RunWithElevatedPrivileges(
                delegate() {
                    using (SPWeb web = new SPSite(webUrl).OpenWeb())
                    {
                        SPList list = web.Lists[hobbyListName];
                        SPListItemCollection items = list.Items;
                        foreach (SPListItem item in items)
                        {
                            ListItem lstItem = new ListItem(item.Title.ToString(),item.ID.ToString());
                            lstHobby.Items.Add(lstItem);
                        }
                    }
                });
        }


       
    }
}
2.Student.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace LookupDemo
{
    public class Student
    {
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string hobby;

        public string Hobby
        {
            get { return hobby; }
            set { hobby = value; }
        }
    }
}
3.Hobby.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace LookupDemo
{
    public class Hobby
    {
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string hob;

        public string Hob
        {
            get { return hob; }
            set { hob = value; }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值