小编Chr*_*ens的帖子

ASP.NET MVC:如何将View Model转换为Json对象

我是.NET新手的Java开发人员.我正在开发.Net MVC2项目,我希望有一个局部视图来包装一个小部件.每个JS小部件对象都有一个JSON数据对象,该对象将由模型数据填充.然后,更新此数据的方法绑定到在窗口小部件中更改数据时的事件,或者如果在另一个窗口小部件中更改了该数据.代码是这样的.

myController的

virtual public ActionResult DisplaySomeWidget(int id) {
  SomeModelView returnData = someDataMapper.getbyid(1);

  return View(myview, returnData);
}
Run Code Online (Sandbox Code Playgroud)

myview.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeModelView>" %>

<script type="text/javascript">
  //creates base widget object;
  var thisWidgetName = new Widget();

  thisWidgetName.updateTable = function() {
    //  UpdatesData
  };
  $(document).ready(function () {
    thisWidgetName.data = <% converttoJSON(model) %>
    $(document).bind('DATA_CHANGED', thisWidgetName.updateTable());
  });
</script>

<div><%:model.name%></div>
Run Code Online (Sandbox Code Playgroud)

我不知道的是如何通过SomeModelView发送数据,然后能够使用它来填充小部件以及将其转换为Json.我似乎有一些真正简单的方法在控制器中执行它而不是在视图中.我认为这是一个基本问题,我已经花了几个小时试图制作这个光滑的.

.net javascript asp.net-mvc json

153
推荐指数
4
解决办法
20万
查看次数

ASP.NET MVC中<%:和<%=有什么区别?

我无法在任何地方找到这些信息.可能是因为谷歌忽略了关键词.使用<%:<%=在您的aspx页面之间有区别吗?他们似乎可以互换.

.net asp.net tags asp.net-mvc

10
推荐指数
3
解决办法
4828
查看次数

使用JQuery来定位div中的未包装文本

我试图找到一种方法来包装元素的内部文本,我不想要任何其他内部dom元素.例如.

<ul>
  <li class="this-one"> 
  this is my item
   <ul>
    <li>
       this is a sub element
    </li>
   </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想用jQuery来做这件事.

<ul>
   <li class="this-one"> 
       <div class="tree-item-text">this is my item</div>
       <ul>
        <li>
           <div class="tree-item-text">this is a sub element</div>
        </li>
       </ul>
      </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

一点背景是我需要制作一个内部树结构ui元素,所以我使用UL结构来表示这一点.但我不希望开发人员必须使用任何特殊格式来使用窗口小部件.

更新:我只是想添加这个的目的是我想添加一个点击监听器,以便能够扩展li下的元素,但是,由于这些元素都在li内,因此点击监听器即使在点击子项时也会激活,所以我想把它附加到文本上,为此,文本需要是可定位的,这就是为什么我想把它包装在它自己的div中.

到目前为止,我已经想出了将div中的所有内部元素包装在div中,然后将所有内部dom元素移回原始父元素.但是这个代码非常重,可能更简单,不需要那么多DOM操作.

编辑:想要分享我想出的第一个伪替代品,但我认为这是我想要完成的任务.

var innerTextThing = $("ul.tree ul").parents("li").wrapInner("<div class='tree-node-text'>");

$(innerTextThing.find(".tree-node-text")).each(function(){
   $(this).after($(this).children("ul"));
});
Run Code Online (Sandbox Code Playgroud)

回答:我最后做了以下工作,仅供参考,我只需要担心FF和IE的兼容性,所以在其他浏览器中没有经过测试.

    //this will wrap all li textNodes in a div so we can target them.
    $(that).find("li").contents()
      .filter(function () {
          return this.nodeType == 3;
      }).each(function () {
          if …
Run Code Online (Sandbox Code Playgroud)

treeview jquery innerhtml jquery-selectors

2
推荐指数
1
解决办法
3226
查看次数

Clojure名称绑定到REST JSON数据

我是前端工程师,我们的团队正在将许多旧服务转换为用clojure编写的微服务.我看到的主要问题是,clojure命名约定更喜欢连字符,而不是变量名中的单词.这意味着如果您将变量直接映射到JSON,则任何JS使用者都需要使用括号表示法来访问此数据,例如response ['to-separate-words'].这显然不太理想.我认为这将是一个简单的查找最佳实践,但我一直在寻找一个小时,似乎我阅读的所有文档都避免了这个问题,但使用单个单词.还有其他人处理过此事.

rest json clojure microservices

2
推荐指数
1
解决办法
264
查看次数