MarkItUp.SingleUserBlog.Web/Administration/ftb.insertcode.aspx.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using Wilco.SyntaxHighlighting;
using Wilco.Web.SyntaxHighlighting;

namespace MarkItUp.SingleUserBlog.Web.Administration
{
	public partial class FtbInsertCode : Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{
            if (!Page.IsPostBack)
            {
                languageDropDown.DataSource = Register.Instance.Highlighters;
                languageDropDown.DataTextField = "FullName";
                languageDropDown.DataValueField = "Name";
                languageDropDown.DataBind();
            }
		}

        protected void previewButton_Click(object sender, EventArgs e)
        {
            PrepareSyntaxHighlight();
        }

        protected void insertButton_Click(object sender, EventArgs e)
        {
            PrepareSyntaxHighlight();
            EnableInsertCodeScriptBlock();
        }

	    private void PrepareSyntaxHighlight()
	    {
	        syntaxHighlightPreview.Language = languageDropDown.SelectedValue;
	        syntaxHighlightPreview.Mode = HighlightMode.Source;
	        syntaxHighlightPreview.Text = sourceTextBox.Text;
	        if (!lineNumbers.Checked)
	            syntaxHighlightPreview.LineNumberTemplate = null;
            syntaxHighlightPreview.CodeLayoutTemplate = new SimpleCodeLayoutTemplate();
        }
	    
	    private void EnableInsertCodeScriptBlock()
	    {
	        Page.ClientScript.RegisterStartupScript(GetType(),"syntaxHighlightDo","<script type=\"text/javascript\">insertCode();</script>");
	    }

        private class SimpleCodeLayoutTemplate : Control, ITemplate
        {
            public void InstantiateIn(Control c)
            {
                SourceHeaderItem container = (SourceHeaderItem)c;

                if (c.Page != null && c.Page.Header != null && c.Page.Items["shl_ln"] == null)
                {
                    HtmlGenericControl lineNumberStyle = new HtmlGenericControl("style");
                    lineNumberStyle.Attributes.Add("type", "text/css");
                    lineNumberStyle.InnerHtml = ".shl_ln { border-right: 1px solid #000; padding-right: 2px; }";
                    c.Page.Header.Controls.Add(lineNumberStyle);
                    c.Page.Items["shl_ln"] = new object();
后面还有 36 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。