jquery中如何设置用户自定义控件的属性
如:<@RegisterSrc="../Controls/AVI/avi.ascx"TagName="avi"TagPrefix="uc1"%><scriptsrc="....
如:
<@ Register Src="../Controls/AVI/avi.ascx" TagName="avi" TagPrefix="uc1" %>
<script src="../Scripts/jquery.js" type="text/javascript"></script>
<uc1:avi ID="avi1" runat="server" AviVideoFile="" />
<script>
(function ($) {
$("#avi1").attr("Height", 450);
$("#avi1").attr("Width", 800);
var lj="../AVI.avi";
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
});
</script>
为什么属性设置没效果,页面不显示控件? 展开
<@ Register Src="../Controls/AVI/avi.ascx" TagName="avi" TagPrefix="uc1" %>
<script src="../Scripts/jquery.js" type="text/javascript"></script>
<uc1:avi ID="avi1" runat="server" AviVideoFile="" />
<script>
(function ($) {
$("#avi1").attr("Height", 450);
$("#avi1").attr("Width", 800);
var lj="../AVI.avi";
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
});
</script>
为什么属性设置没效果,页面不显示控件? 展开
2个回答
展开全部
所有设置都不生效?试一下这样看看哪里出错了。
<script>
(function ($) {
$("#avi1").attr("Height", 450);
alert('1');
$("#avi1").attr("Width", 800);
alert('2');
var lj="../AVI.avi";
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
alert('3');
});
</script>
看看有没有弹出三个对话框?哪个没有弹?还有,下面这句:
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
换成:
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl('+ lj + ') %>");
这个看看?行不行的话,也没准。
<script>
(function ($) {
$("#avi1").attr("Height", 450);
alert('1');
$("#avi1").attr("Width", 800);
alert('2');
var lj="../AVI.avi";
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
alert('3');
});
</script>
看看有没有弹出三个对话框?哪个没有弹?还有,下面这句:
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl(" + lj + ") %>");
换成:
$("#avi1").attr("AviVideoFile", "<%=ResolveUrl('+ lj + ') %>");
这个看看?行不行的话,也没准。
追问
三个提示都有弹出,设置没效果啊
追答
我刚才改了一下,拖入一个textbox控件,然后把最后一句改成
$("#avi1").attr("value", "");
后,页面加载一下发现它的value值为:
/CAStandard/showdiv/ + lj +
其中:/CAStandard/showdiv/ 这个为我当前页面所在的路径,而 lj的值却带不进去,所以,我估计是这个原因,才会让你的网页看起来没有把那个avi的地址带进去了。我现在要去吃饭了,暂时研究到这里了。
//最后补充:
//刚吃饱回来,我想明白是哪里出问题了。
这个标签中的内容会被编译器首先编译,此时"中的"+lj"在C#中无有被定义出来,所以它会把它当成是一个字符串,然后传进来处理,最后就会返回到上面的结果了。有了这个结果后,浏览器就会把C#编译器那句得出的结果,传入javascript中进行处理,最后,你就看到上 的结果了。一句话,就是C#与javacript编译器的作用域不同,所以出错了。解决方法我也帮你想了一下,你看实不实用咯,如下:
(function ($) {
$("#avi1").attr("Height", 450);
$("#avi1").attr("Width", 800);
var lj="AVI.avi";
$("#avi1").attr("AviVideoFile", "" + lj);
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询