如何将jQuery添加到WebPart(以响应WebPart上的某些事件)?

我开始向我的Sharepoint页面添加UpdatePanel,这样我就可以响应发生的事件(例如复选框的检查和单选按钮的混搭等)。 然而,到目前为止,这一点已经带来了挫折和腐烂,这可以从这个问题中推断出来。

所以我现在可能要遍历(没有双关语)jQuery路由,并试图找出/找出如何将jQuery添加到WebPart。

Currenlty,我根据用户在WebPart编辑器中选择的内容动态创建C#中的控件(如果他们选择显示第1部分,我为第1部分创建所有控件,等等)。

作为一个例子,我目前有条件地在C#中创建一个RadioButton,如下所示:

var radbtnEmployeeQ = new RadioButton { CssClass = "dplatypus-webform-field-input" }; 

现在如果我想向它添加jQuery,我可以像这样添加一个ID:

 var radbtnEmployeeQ = new RadioButton { CssClass = "dplatypus-webform-field-input", ID = "radbtnEmp" }; 

…然后添加这种性质的jQuery(伪代码):

 $('radbtnEmp').click { // visiblize/invisiblize other controls, assign certain vals to their properties } 

这对我来说似乎是可行的,但是如何将jQuery添加到WebPart呢? 是在与.ascx.cs文件相同的目录级别添加.js文件,然后从* .ascx.cs文件引用它,或者…… ???

UPDATE

对于POC测试,我使用以下内容向名为“directpaydynamic.js”的项目添加了一个文件:

  $(document).ready(function () { $('input:radio[name=radbtnEmp]:checked').change(function () { if ($("input[name='radbtnEmp']:checked").val() == 'Employee?') { alert("radbtnEmp checked"); } else { alert("radbtnEmp not checked"); } }); });  

(来自这里的一个例子)

…并在我的* .ascx.cs文件中引用.js文件,如下所示:

 SPWeb site = SPContext.Current.Web; site.CustomJavaScriptFileUrl = @"C:\Projects\DirectPaymentWebForm\DirectPaymentSectionsWebPart\DPSVisualWebPart\directpaydynamic.js"; 

(我将.js文件拖到代码上以获取路径)

然而,运行解决方案并将无线电按钮混合都不会导致警告()显示,所以我认为我走的路是一个很好的理由,而不是旅行。

更新2

意识到我不需要脚本业务(因为这是一个.js文件,而不是一个html文件),我删除了那些,并在jQuery中放了一个“无论如何”的alert():

 $(document).ready(function () { alert("What's new, pussycat, whoa-oh-oh-oh-OH-oh?"); $('input:radio[name=radbtnEmp]:checked').change(function () { if ($("input[name='radbtnEmp']:checked").val() == 'Employee?') { alert("radbtnEmp checked"); } else { alert("radbtnEmp not checked"); } }); }); 

……但我仍然忍受着惊人的警报……

在页面加载方法上使用以下代码

  string url = SPContext.Current.Site.ServerRelativeUrl; if (!url.EndsWith("/")) { url += "/"; } HtmlGenericControl styleCss = new HtmlGenericControl("link"); styleCss.Attributes.Add("rel", "stylesheet"); styleCss.Attributes.Add("type", "text/css"); styleCss.Attributes.Add("href", url + "Style Library/css/style.css"); HtmlGenericControl JsLink = new HtmlGenericControl("script"); JsLink.Attributes.Add("src", url + "Style Library/js/jquery.min.js");`enter code here` this.Controls.Add(styleCss); this.Controls.Add(JsLink); 

要做到这一点,要做的事情(或者我应该写,“ ”事情)是在WebPart的* .ascx文件的末尾添加如下代码:

  

上面的作品就像一个冠军。