将C#标签代码添加到SharePoint页面

时间:2015-08-21 08:34:54

标签: c# sharepoint

我希望有人可以为我阐明这个话题,我被要求在客户的SharePoint主页上添加一个特定日期的倒计时。我经常在Visual Studios中开发,而在创建倒计时之后,SharePoint主要是我的投资组合中的一个新主题,我很快发现自己迷失在一连串的信息中。

我的cs文件由以下内容组成:

namespace TimerCountdown
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            //Get these values however you like.
            DateTime daysLeft = DateTime.Parse("12/29/2016 02:00:01 AM");
            DateTime startDate = DateTime.Now;
            //Create A Timer
            Timer tmr = new Timer();
            tmr.Interval = 500;
            tmr.Tick += new EventHandler(tmr_Tick);
            tmr.Enabled = true;
            tmr.Start();

            //Calculate countdown timer.
            TimeSpan t = daysLeft - startDate;
            string countDown = string.Format("{0} Days, {1} Hours, {2} Minutes, {3} Seconds til launch.", t.Days, t.Hours, t.Minutes, t.Seconds);
            label1.Content = countDown;
        }

        void tmr_Tick(object sender, EventArgs e)
        {
            DateTime daysLeft = DateTime.Parse("12/29/2016 02:00:01 AM");
            DateTime startDate = DateTime.Now;
            TimeSpan ts = daysLeft.Subtract(startDate);
            label1.Content = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
        }
    }
}

这是我有点困惑的地方,我已经阅读了人们的帖子,说使用ASP并在那里添加代码。其他人说不,不这样做。有人说使用一行代码上传文件,这会带来安全性主题。我希望能够与这个社区联系,希望有人能够为这个话题提供一些信息/添加链接到一个好的信息网站,或者即使有人知道一个很好的演练,甚至指出我的方法是完全错误的。

我觉得这可能让一些用户感到困惑 - 客户要求。 SharePoint主页横幅上的一个简单标签,其中包含显示加载倒计时的代码。任何反馈都值得赞赏

1 个答案:

答案 0 :(得分:1)

您不需要C#代码,您可以使用简单的javascript完成所有操作并使用Html WebPart。

这里一个简单页面的代码试一试。

<!DOCTYPE html>
<html>
<head>
<title>Countdown</title>
</head>

<body>

<script>
    var _MS_PER_DAY = 1000 * 60 * 60 * 24;
    var dt = new Date(2016, 12, 31, 23, 59, 59);

    setInterval(function(){
        var today = new Date();

        var end   = Date.UTC(dt.getFullYear(), dt.getMonth(), dt.getDate());
        var start = Date.UTC(today.getFullYear(), today.getMonth(), today.getDate());

        var days = Math.floor((end - start) / _MS_PER_DAY);

        var s = days + " Days, " + (dt.getHours() - today.getHours()) + " Hours, " +  (dt.getMinutes() - today.getMinutes())+ " Minutes, " +  (dt.getSeconds() - today.getSeconds()) + " Seconds til launch";

        document.getElementById("cdwLabel").innerHTML = s;

    }, 1000);

</script>

<span id="cdwLabel"></span>

</body>

</html>