首页 新闻 会员 周边

MVC自定义控件问题

0
悬赏园豆:50 [已解决问题] 解决于 2013-01-09 12:44

在MVC3环境中,可以通过如下方法,实现扩展 public static MvcHtmlString CheckBoxList(this HtmlHelper helper, string name, IEnumerable<SelectListItem> selectList) 这样,输出至前台的时候,就是完整的Html控件

现在我在使用ligerUI控件,它的特点是必须编写JS代码来实现,如下所示

<script type="text/javascript">    

$(function ()    

{        

  $("#select2").ligerComboBox();    

});

</script>

现在我想在输出控件的同时,也能够一并输出JS代码 ,现在我是这样处理的

public static MvcHtmlString LigerComboBox(this HtmlHelper helper, string dddwID) {    

  StringBuilder sb = new StringBuilder();    

  sb.Append("<script type=\"text/javascript\">");    

  sb.Append("$(function () {");    

  sb.Append("$('#" + dddwID + "').ligerComboBox();");    

  sb.Append("}");    

   sb.Append("</script>");

      return MvcHtmlString.Create(sb.ToString());

}

结果是在dddwID控件的后面,直接输出JS代码,如下所示,但它并不想实现上述功能

<select name="select2" id="select2" >  

<option value="opt1">Big Option test line with more wordssss</option>

 <option value="opt2">Option 2</option>  

<option value="opt3">Option 3</option>  

<option value="opt4">Option 4</option>

 <option value="opt5">Option 5</option>  

<option value="opt6">Option 6</option>  

<option value="opt7">Option 7</option>  

<option value="opt8">Option 8</option>

</select>

<script type="text/javascript">

$(function () {$('#select2').ligerComboBox();}

</script>

完整的功能实现是在body实现控件输出,在head带实现JS输出,方法如何编写,还请指教?

斜杠青年小Q的主页 斜杠青年小Q | 初学一级 | 园豆:5
提问于:2013-01-09 10:39
< >
分享
最佳答案
1

你的 LigerComboBox 放在哪 就在哪输出啊, 你放到head中就行啊

收获园豆:50
Qlin | 老鸟四级 |园豆:2403 | 2013-01-09 11:07

<select name="select2" id="select2" > 

<option value="opt1">Big Option test line with more wordssss</option>

<option value="opt2">Option 2</option> 

<option value="opt3">Option 3</option> 

<option value="opt4">Option 4</option>

<option value="opt5">Option 5</option> 

<option value="opt6">Option 6</option> 

<option value="opt7">Option 7</option> 

<option value="opt8">Option 8</option>

</select>

<script type="text/javascript">

$(function () {$('#select2').ligerComboBox();}

</script>

 

这样写,没有效果的

斜杠青年小Q | 园豆:5 (初学一级) | 2013-01-09 11:27

@Vincent.Q:

调式一下,看看 有没有触发

Qlin | 园豆:2403 (老鸟四级) | 2013-01-09 11:28

@Qlin: 这就是输出后的源码,木有效果的.

斜杠青年小Q | 园豆:5 (初学一级) | 2013-01-09 12:02

@Vincent.Q: 

浏览器中 js 进行调试。

后台 生成html,再发送给浏览器,浏览器解析,按理应该可以

Qlin | 园豆:2403 (老鸟四级) | 2013-01-09 12:16

@Qlin: 知道什么问题了!

<script type="text/javascript">

$(function () {$('#select2').ligerComboBox();}

</script>

上面代码改成下面这样就OK了

<script type="text/javascript">

$('#select2').ligerComboBox();

</script>

斜杠青年小Q | 园豆:5 (初学一级) | 2013-01-09 12:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册