我已经为 Tweet 子布局反编译了 CodeBehind,它有以下代码:
protected void Page_Load(object sender, EventArgs e)
{
string text = "var xmlhttp;if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");}xmlhttp.open(\"GET\",url,true);xmlhttp.send();";
string script = string.Format("<script>twttr.events.bind('tweet', function (event) {{var url = '{2}?itemid={1}&eventname={3}&buttontype=tweet';{4}}});</script>", new object[]
{
Sitecore.Context.User.Name.Replace('\\', '.'),
Sitecore.Context.Item.ID.ToString(),
"/layouts/system/Social/SocialEvents.aspx",
base.EventName,
text
});
this.Page.RegisterStartupScript("tweetsubscribe", script);
}
如果你想改变它,你需要反编译包中的Sitecore.Social.dll。解压压缩包,打开files文件夹,DLL就在/bin/。
如果您没有反编译器,ILSpy 是一个很棒的免费反编译器。您可以对其他功能执行相同的操作,只需在本地项目中进行反编译并重新构建并进行更改。
更新:澄清一下,您需要反编译 DLL 中的当前 C# 以对其进行更改。可以重新编译成单独的工程,只需要在控件前端改一下Inherits=""即可,例如
而不是这个:
Inherits="Sitecore.Social.Sharing.Controls.TweetButton"
做这样的事情:
Inherits="MyProject.Sharing.Controls.TweetButton"