小编jas*_*ipt的帖子

Web Api属性路由中的可选参数

我想处理以下API调用的POST:

/v1/location/deviceid/appid

附加参数来自Post-Body.

这对我来说都很好.现在我想通过允许"deviceid"和/或"appid"和/或BodyData为null来扩展我的代码:

/v1/location/deviceid
/v1/location/appid
/v1/location/
Run Code Online (Sandbox Code Playgroud)

这3个URL应该由相同的路由响应.

我的第一种方法(需要BodyData):

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post(string deviceid = null, string appid = null, [FromBody] location_fromuser BodyData)
{
    return repository.AddNewLocation(deviceid, appid, BodyData);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用并返回编译错误:

"可选参数必须在最后"

接下来尝试:

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post([FromBody] location_fromuser BodyData, string deviceid = null, string appid = null)
Run Code Online (Sandbox Code Playgroud)

现在我的函数AddNewLocation()总是得到BodyData=null- 即使调用发送Body.

最后我设置了所有3参数可选:

[Route("v1/location/{deviceid}/{appid}", Name = "AddNewLocation")]
public location_fromuser Post(string deviceid = null, string appid = null, [FromBody location_fromuser BodyData = null)
Run Code Online (Sandbox Code Playgroud)

不工作:

BodyData不支持可选参数FormatterParameterBinding …

c# asp.net asp.net-web-api asp.net-web-api-routing

81
推荐指数
4
解决办法
11万
查看次数

标签vs span:html

我对使用什么来渲染数据感到困惑.我的场景是我必须渲染计数,我不确定使用span或label.

<span id="spnCount"></span>
Run Code Online (Sandbox Code Playgroud)

要么

<label id="lblCount"></label>
Run Code Online (Sandbox Code Playgroud)

html

29
推荐指数
3
解决办法
4万
查看次数

CRM 2011 - 在Google Chrome上添加自定义视图

我参与了一个使用大量自定义视图的CRM 2011项目.

我最近发现所有查找自定义视图只能在Internet Explorer中正常工作.当我尝试使用谷歌浏览器(版本51.0.2704.84米)时,它很简单不起作用.

我用Google搜索没有运气.

有人知道如何解决这个问题吗?

我相信你们中许多人都面临同样的问题.

这是我的代码.我强调它在IE中的作用就像一个魅力.

    var viewId = "{1DFB2B35-B07C-44D1-868D-258DEEAB88E1}";
    var entityName = "tz_tipodefrete";
    var viewDisplayName = "Tipos de Frete Disponíveis";

    var fetchXml =
"<fetch distinct='false' mapping='logical' output-format='xml-platform' version='1.0'>" +
    "<entity name='tz_tipodefrete'>" +
        "<attribute name='tz_name'/>" +
        "<order descending='false' attribute='tz_ordem'/>" +
        "<filter type='and'>";
    if (filtrar)
        fetchXml = fetchXml + "<condition attribute='tz_name' value='Cliente Retira e instala no CT' operator='ne'/>";

    fetchXml = fetchXml +
            "<condition attribute='statecode' value='0' operator='eq'/>" +
        "</filter>" +
    "</entity>" +
"</fetch>";

    // build Grid Layout
    var layoutXml = …
Run Code Online (Sandbox Code Playgroud)

crm dynamics-crm dynamics-crm-2011

9
推荐指数
1
解决办法
217
查看次数

在Kendo-UI图表中刷新方法和重绘方法有什么不同?

我发现kendoui图表有两种方法:refresh方法和redraw方法,有什么区别?我认为它们都是再次绘制图表.但是,如果图表根据ajax从远程数据绑定,则请求将不会再次触发.

$("#Chart").data("kendoChart").redraw();
$("#Chart").data("kendoChart").refresh();
Run Code Online (Sandbox Code Playgroud)

kendo-ui kendo-grid kendo-asp.net-mvc

8
推荐指数
1
解决办法
6406
查看次数

在新窗口中打开Web资源中使用Xrm.WebApi方法

我使用以下命令在新窗口中打开了一个HTML Web资源:

Xrm.Navigation.openWebResource(webResource, windowOptions, data);

这是一个HTML Web资源,它正在加载ClientObject

<script type="text/javascript" src="../../../ClientGlobalContext.js.aspx" ></script>

然后我有一些试图检索的JavaScript Contact

var contactId = "8553DA63-11C9-E711-A824-000D3AE0CB84";
var promise = Xrm.WebApi.retrieveRecord("contact", contactId, "$select=contactid,firstname,lastname");`
Run Code Online (Sandbox Code Playgroud)

但这是失败的.我已逐步跟踪到该Xrm.WebApi方法,并发现错误是在它尝试解析"contact"为a时Set Name

来自Global.ashx的代码

getEntitySetName: function(logicalName) {
    Mscrm.Utilities.addTelemetryLog("Xrm.Utility.getEntitySetName");
    var $v_0 = window.ENTITY_SET_NAMES || window.top.ENTITY_SET_NAMES;
    if (IsNull(this.$5H_1) && !isNullOrEmptyString($v_0))
        this.$5H_1 = JSON.parse($v_0);
    return this.$5H_1[logicalName.toLowerCase()]
},
Run Code Online (Sandbox Code Playgroud)

由于某种原因,该window.ENTITY_SET_NAMES对象为null,因此发生错误(空引用)

我已经尝试将我的Web资源嵌入到CRM页面中,并且代码可以正常工作.问题似乎是通过网络资源启动时 Xrm.Navigation.openWebResource

有没有人试图Xrm.WebApi在打开的网络资源的上下文中使用Xrm.Navigation.openWebResource?或者是否有人知道检索数据是否还需要其他步骤?


更新

ENTITY_SET_NAMES初始化main.aspx.我尝试将我的自定义Web资源直接嵌入到新的Main Form部分,该retrieveRecord方法可行.

只有在通过新页面运行Web资源时,这才会出现问题 Xrm.Navigation.openWebResource


更新2 - 对Aron的回应 …

javascript microsoft-dynamics dynamics-crm dynamics-crm-webapi dynamics-365

8
推荐指数
2
解决办法
2534
查看次数

获取日期 - 3 个月

我正在尝试获取当前日期 - 3 个月并在邮递员预请求脚本中使用它。有人告诉我它使用 javascript,但它似乎不起作用。

我得到的错误是:

评估预请求脚本时出错:TypeError: startDate.setMonth is not a function

这是我所拥有的:

// setup start date
var startDate =  Date();
startDate.setMonth(startDate.getMonth() - 3);
Run Code Online (Sandbox Code Playgroud)

javascript postman

6
推荐指数
1
解决办法
711
查看次数

CRM 2016 FakeXrmEasy N:N关系

我正在尝试使用FakeXrmEasyCRM Online(2016)进行一些单元测试,我在使用N:N关系设置我的一个测试时遇到问题

以下代码设置了一个伪造的上下文,其中包含2个实体并初始化Faked Organization Service:

var entity1 = new New_entityOne();
var entity2 = new New_entityTwo();

var context = new XrmFakedContext();
context.ProxyTypesAssembly = Assembly.GetAssembly(typeof(New_entityOne));
context.Initialize(new List<Entity>()
{
    entity1,
    entity2
});

var service = context.GetFakedOrganizationService();
Run Code Online (Sandbox Code Playgroud)

然后我尝试在这些实体之间创建N:N关系:

var join = new AssociateRequest
{
    Relationship = new Relationship
    {
        SchemaName = "new_entityOne_new_entityTwo",
        PrimaryEntityRole = EntityRole.Referenced
    },
    Target = entity1.ToEntityReference(),
    RelatedEntities = new EntityReferenceCollection
    {
        entity2.ToEntityReference()
    }
};

service.Execute(join);
Run Code Online (Sandbox Code Playgroud)

当我执行它时Request,我期待在我的模拟数据中生成N:N-join记录,在entity1和之间entity2

相反,我得到这样的错误:

FakeXrmEasy.dll中出现"System.Exception"类型的异常,但未在用户代码中处理

附加信息:关系new_entityOne_new_entityTwo在元数据缓存中不存在

有没有其他人试图以这种方式使用这个单位框架?到目前为止,我已经使用它获得了非常好的结果.

显然,这些不是我的实际实体和关系名称

unit-testing dynamics-crm-online dynamics-crm-2016

5
推荐指数
1
解决办法
1287
查看次数

通过C#for CRM 2015中的插件或简单控制台应用程序删除或删除日历规则"Time Off Rule"

我有以下问题:

我需要从属于"设备"的特定日历的日历规则中删除或删除"超时规则".需要这样做,以便设备可用于在服务日历上进行安排.

不知何故,我无法理解如何做到这一点.

我能够检索需要删除的日历规则对象,但下一步就是我.

请小心告诉我:

  1. 可以通过C#(SDK)完成

  2. 任何类似的Web资源或代码部分.

以下代码给出了错误

您尝试删除的对象与另一个对象关联,无法删除.

//equip is of Equipment type and is already initialized 
CrmEarlyBound.Calendar cal = (CrmEarlyBound.Calendar)svc.Retrieve("calendar", equip.CalendarId.Id, new ColumnSet(true));
Console.WriteLine("Got the user calendar");
List<CalendarRule> calendarRules = cal.CalendarRules.ToList();
Console.WriteLine("Got the calendar rules " +  cal.CalendarRules.ToList().Count);
foreach (CalendarRule cr in cal.CalendarRules)
{
   if (cr.Description == "Time Off Rule" && cr.StartTime.Value>=DateTime.Now)
   {
       Console.WriteLine(cr.StartTime);
       Calendar calI = (Calendar)svc.Retrieve(cr.InnerCalendarId.LogicalName, cr.InnerCalendarId.Id, new ColumnSet(true));
       //svc.Delete(cr.InnerCalendarId.LogicalName, cr.InnerCalendarId.Id);
    }
 }
Run Code Online (Sandbox Code Playgroud)

c# dynamics-crm dynamics-crm-2015

5
推荐指数
1
解决办法
478
查看次数

crmsvcutil.exe:无法为早期绑定生成实体类 - Dynamics CRM Online

我正在尝试从我的 Dynamics CRM Online 实例生成早期绑定实体类。

我的机器上安装了 CRM SDK。

我正在从 SDK 的“Bin”文件夹运行以下命令。

crmsvcutil.exe /url:<<OrganizationServiceUrl>> /out:crmexams3.cs /username:"<<username>>" /password:"<<password>>"
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Error requesting orgs from the discovery server
Access is denied
Run Code Online (Sandbox Code Playgroud)

我已将 OrganizationServiceUrl 替换为可以从 CRM 实例中的开发人员资源中找到的组织服务 URL。

我的实例是 CRM 2016 Online。

知道为什么这会失败吗?

谢谢

microsoft-dynamics dynamics-crm dynamics-crm-online dynamics-crm-2016

5
推荐指数
1
解决办法
1215
查看次数

Jqgrid柱宽根据其内容

我的Jqgrid.All列中有很多列,显示两侧的额外空间.我希望该列没有额外的间距.列宽应根据其内容具有宽度.我尝试过autowidth但它不起作用.

实际行为如下所示:

-----------------------------------------------
|     Name     |     Mobile     |    Email    |
----------------------------------------------- 
Run Code Online (Sandbox Code Playgroud)

而我需要的是:

----------------------
|Name|Mobile No|Email|
----------------------
Run Code Online (Sandbox Code Playgroud)

这是我的代码

 $("#list").jqGrid({
     datatype: "local",
     data: mydata,
     colNames: ["Name", "Mobile", "Email", "Amount", "Tax", "Total", "Closed", "Shipped via", "Notes"],
     colModel: [
                { name: "id", width: 65, align: "center", sorttype: "int", hidden: true },
                { name: "invdate", width: 80, align: "center", sorttype: "date",
                    formatter: "date", formatoptions: { newformat: "d-M-Y" }, datefmt: "d-M-Y"
                },
                { name: "name", width: 70 },
                { name: "amount", width: 75, formatter: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jqgrid

3
推荐指数
1
解决办法
8433
查看次数