我想处理以下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 …
我对使用什么来渲染数据感到困惑.我的场景是我必须渲染计数,我不确定使用span或label.
<span id="spnCount"></span>
Run Code Online (Sandbox Code Playgroud)
要么
<label id="lblCount"></label>
Run Code Online (Sandbox Code Playgroud) 我参与了一个使用大量自定义视图的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) 我发现kendoui图表有两种方法:refresh
方法和redraw
方法,有什么区别?我认为它们都是再次绘制图表.但是,如果图表根据ajax从远程数据绑定,则请求将不会再次触发.
$("#Chart").data("kendoChart").redraw();
$("#Chart").data("kendoChart").refresh();
Run Code Online (Sandbox Code Playgroud) 我使用以下命令在新窗口中打开了一个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的代码
Run Code Online (Sandbox Code Playgroud)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()] },
由于某种原因,该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
我正在尝试获取当前日期 - 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) 我正在尝试使用FakeXrmEasy
CRM 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在元数据缓存中不存在
有没有其他人试图以这种方式使用这个单位框架?到目前为止,我已经使用它获得了非常好的结果.
显然,这些不是我的实际实体和关系名称
我有以下问题:
我需要从属于"设备"的特定日历的日历规则中删除或删除"超时规则".需要这样做,以便设备可用于在服务日历上进行安排.
不知何故,我无法理解如何做到这一点.
我能够检索需要删除的日历规则对象,但下一步就是我.
请小心告诉我:
可以通过C#(SDK)完成
任何类似的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) 我正在尝试从我的 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
我的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) dynamics-crm ×4
javascript ×3
c# ×2
asp.net ×1
crm ×1
dynamics-365 ×1
html ×1
jqgrid ×1
jquery ×1
kendo-grid ×1
kendo-ui ×1
postman ×1
unit-testing ×1