我是本科生。我有一些与在ASP.NET服务器端自定义控件中嵌入jQuery相关的查询。
私有字符串GetEmbeddedTextFile(string sTextFile) { //用于检索内容的通用函数 //作为字符串的嵌入式文本文件资源
// we'll get the executing assembly, and derive
// the namespace using the first type in the assembly
Assembly a = Assembly.GetExecutingAssembly();
String sNamespace = a.GetTypes()[0].Namespace;
// with the assembly and namespace, we'll get the
// embedded resource as a stream
Stream s = a.GetManifestResourceStream(
string.Format("{0}.{1}",a.GetName().Name, sTextFile)
);
// read the contents of the stream into a string
StreamReader sr = new StreamReader(s);
String sContents = sr.ReadToEnd();
sr.Close();
s.Close();
return sContents;
}
private void RegisterJavascriptFromResource()
{
// load the embedded text file "javascript.txt"
// and register its contents as client-side script
string sScript = GetEmbeddedTextFile("JScript.txt");
this.Page.RegisterClientScriptBlock("PleaseWaitButtonScript", sScript);
}
private void RegisterJQueryFromResource()
{
// load the embedded text file "javascript.txt"
// and register its contents as client-side script
string sScript = GetEmbeddedTextFile("jquery-1.4.1.min.txt");
this.Page.ClientScript.RegisterClientScriptBlock(typeof(string), "jQuery", sScript);
// this.Page.RegisterClientScriptBlock("JQueryResourceFile", sScript);
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
// the client-side javascript code is kept
// in an embedded resource; load the script
// and register it with the page.
RegisterJQueryFromResource();
RegisterJavascriptFromResource();
}
但我遇到的问题是我在单独的.JS文件中编写的所有我的JQuery代码,并试图嵌入我的自定义控件,在屏幕上作为输出流式传输。此外,我的控件不正常,因为它应该具有,由于没有正确嵌入的原因,jQuery功能不起作用:-( 请帮帮我! 谢谢!
答案 0 :(得分:1)
听起来你错过了围绕javascript的<script>
标签。试试RegisterClientScriptBlock的这个重载,它接受第四个布尔参数,如果它是真的,将添加脚本标记。
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "jQuery", sScript, true);
答案 1 :(得分:0)
&#34;我在单独的.JS文件中编写并尝试嵌入我的&gt;自定义控件的所有JQuery代码都在屏幕上作为输出进行流式传输&#34;
听起来你需要添加一行告诉代码如何下载嵌入式javascript。在自定义控件项目中类的开头上方使用程序集注释执行此操作。格式如下:
<Assembly: System.Web.UI.WebResource("Namespace.ScriptName.js", "application/x-javascript")>