lovebet体育官网教你怎样在

<dxg:GridColumn.EditSettings >
     <dxg:LookUpEditSettings  x:Name="lookUp" IsTextEditable="False" DisplayMember="ProductName" ValueMember="ProductName" AutoPopulateColumns="False" >
          <dxg:LookUpEditSettings.PopupContentTemplate>
                    <ControlTemplate>
                        <dxg:GridControl x:Name="PART_GridControl">
                            <dxg:GridControl.Columns>
                                <dxg:GridColumn FieldName="ProductName_QuantityPerUnit" UnboundType="String"
                                                UnboundExpression="[ProductName]+' '+[QuantityPerUnit]"/>
                                <!--<dxg:GridColumn FieldName="ProductName"/>
                                <dxg:GridColumn FieldName="QuantityPerUnit"/>-->
                            </dxg:GridControl.Columns>
                            <dxg:GridControl.View>
                                <dxg:TableView AutoWidth="True" />
                            </dxg:GridControl.View>
                        </dxg:GridControl>
                    </ControlTemplate>
                </dxg:LookUpEditSettings.PopupContentTemplate>
                <dxg:LookUpEditSettings.StyleSettings>
                    <dxg:SearchLookUpEditStyleSettings />
           </dxg:LookUpEditSettings.StyleSettings>
      </dxg:LookUpEditSettings>
</dxg:GridColumn.EditSettings>

摘录

  那是grid表格里应用lookup,普通文书只需选取controltemplate里的东西

文章首借使介绍了通过贰个第三方类库RazorJS,达成Javascript 文件里采用.Net MVC Razor 语法,很抢眼,推荐给大家

相信我们都试过在贰个 View 里嵌套使用 javascript,这时就足以一贯动用
Razor 语法以调用 .NET 的一些方法。如以下代码嵌套在二个 Razor 的 View
里:

?

1
2
3
4
5
<script>
 var currDate = '@DateTime.Now'; //直接调用.NET的方法
  
 console.log(currDate)
</script>

但另一种情况是,如若本人想在一个独自的 JS 文件里应用
Razor,那以上的章程可不行,因为MVC不会直接表达JS文件,独有放到 Razor
view里手艺够。然而在此笔者向我们推荐四个第三方类库,就可令你一贯在单身的
JS 文件里选取 Razor

此类库名字就叫 RazorJS,那是一个开源的门类,可到以下地点下载源码:

https://bitbucket.org/djsolid/razorjs

依旧也得以一向通过Nuget进行设置:

?

1
PM> Install-Package RazorJS

OK,先说说那个类库能为大家带来如何吧。安装后你能够直接在 JS
文件里使用具备 .NET
协助的主意,如上面包车型客车代码就能够直接放到独立的JS文件里去行使。此外你还足以在JS文件里援引.NET的真名空间,如要调用
File 对象来读取文本文件内容,就足以一贯援引 System.IO 命名空间:

?

1
2
3
@using System.IO;
  
var s = 'Hello at @DateTime.Now \n @File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~/web.config"))';

运营后就可径直在 JS 里获取到 web.config
文件里的享有剧情。看样子挺不错吧,呵呵。那到底此类库是何等运转的吧?其实它是接纳了三个叫
RazorEngine 的类库到达以上效果的。RazorEngine 是三个 Razor
的表明引擎,其功用特别有力,作者以前也在局地项目中央银行使过。通过此引擎,你以致能够直接在
win form 中采用 Razor 语法,呵,不知你有没悟出其好处了?

啊,不错,有了此引擎,就可以完全部独用立了 web 境况去接纳 MVC 的 Razor
,那一个功用可让你特别有利地制订一些灵活的沙盘,如有的 email
模板,你可一直在模板里接纳各类.NET
方法竟然自定义的对象,然后动态变化想要的剧情。OK,但以此引擎并不是这一次本身要介绍的事物,在此只是顺便说说啊

收取来讲一个 RazorJS 的行使办法,借使您是平昔通过 Nuget
安装的,那么就能够自动帮你安顿好
web.config,那是提议的装置格局,不然你就要协和丰硕 web.config
里的布署了,有好几处地方,这里也浑然不知说,我们安装了后可对照一下就精通了。要动用
RazorJS 也很简短,只需利用以下语法援引你要的 JS 文件就足以了:

lovebet体育官网,?

1
2
3
<p>
 @Html.RazorJSInline("~/Scripts/Example.js")
</p>

唯独要小心一点的是,在您的 web.config 里会有一段配置允许 RazorJS
使用的目录,正是说你的JS文件必须置于此目录里才得以动用此措施来援用:

1
2
3
4
5
<razorJSSettings handlerPath="~/razorjs.axd">
 <allowedPaths>
 <add path="~/Scripts" />
 </allowedPaths>
 </razorJSSettings>

最后要说一下的是其范围。有好的地点本来也可以有不佳的一边,由于其接纳的是
RazorEngine ,所以您不得以在 JS 里使用 MVC 的 HTML Helper 方法,即所有@Html 早先的艺术。另三个标题正是其不能够分辨 JS
里的申明代码,正是说假如你在讲解里使用了 .NET
的格局也同样会施行,假如你的方法正确就没难题,不然就能够中断 JS
的实行直接报错了,所以不用感觉没用的办法注释掉就足以了哦。

至于不能够实施 @Html
helper的主题素材,作者那边提供另多少个消除办法,然而这就可修改其源代码,想折腾的意中人能够实行。其实这么做也足以应用过多自定义的点子,更灵活方便哦。下载了
RazorJS
源码后,你可径直在上头修改然后再也编写翻译贰个DLL出来,另一种方法正是将其源码当作另多个项目,直接加到你本人的品种中去。

在其源码中,展开 HtmlTemplateBase.cs
文件,你就可在此增添自个儿的主意了,然后在那边丰硕的秘技都可径直在 JS
里调用。如在源码中你可发掘已打包的一个 Href 方法,可将 U途乐L
调换为在呼吁客户端可用的
UCR-VL。依照此写法,大家就可增添本人的不二秘籍,如以下是自个儿封装四个动态获取国际化能源文件的方法,这样就可径直在JS里使用.NET的财富文件实行国际化了:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class HtmlTemplateBase : TemplateBase
 {
 //手工调用资源文件管理器
 private static ResourceManager resources = (ResourceManager)System.Type.GetType
  ("RazorJS.Resource").GetProperty("ResourceManager").GetValue(null, null);
  
 public HtmlTemplateBase()
 {
  Url = new UrlHelper(HttpContext.Current.Request.RequestContext);
 }
 public string Href(string originalUrl)
 {
  return Extensions.ResolveUrl(originalUrl);
 }
  
 public string GetLangText(string langKey)
 {
  根据key返回相关的语言
  return resources.GetString(langKey);
 }
  
 public UrlHelper Url { get; set; }
 }

下一场在JS里直接调用就能够:

?

1
2
var s = '@GetLangText("CoderBlog")';
console.log(s);

运营完后,就可直接在JS里输入 CoderBlog 这么些key的剧情啦