jquery中如何设置用户自定义控件的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery中如何设置用户自定义控件的属性相关的知识,希望对你有一定的参考价值。
如:
<@ 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>
为什么属性设置没效果,页面不显示控件?
<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);
);
如何在WPF中自定义控件
一、选择需要继承的基类
这是常用的最低级的基类。通常,只有当希望重写OnRender()方法并使用DrawingContext从头绘制内容时,才会继承该类。
当从头开始创建控件时,这是最常用的起点。该类是所有用户交互小组件的基类。Control类添加了用于设置背景、前景、字体和内容对齐方式的属性。控件类还为自身设置了Tab顺序(通过IsTabStop属性),并且引入 了鼠标双击功能(MouseDoubleClick和PreviewMouseDoubleClick)。但最重要的是,Control类定义了Template属性。
ContentControl
以上是关于jquery中如何设置用户自定义控件的属性的主要内容,如果未能解决你的问题,请参考以下文章
如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?