首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用EcmaScript读取列类型SPUser,DateTime,Currency?

如何用EcmaScript读取列类型SPUser,DateTime,Currency?
EN

Stack Overflow用户
提问于 2012-01-17 18:26:22
回答 1查看 11.1K关注 0票数 1

我在SharePoint 2010中有一个列表,其中包含一些列。全部都是默认类型。所以我有

“单行文本”

“多行文本”

“日期和时间”

“选择”

“数字”

“货币”

“个人或组”

我的目标是有一个自定义功能区选项卡或组,我可以在其中对此列表执行一些操作。作为起点,我在Visual Studio解决方案中创建了一个空元素,并将我的按钮放入Elements.xml中。到目前为止,这是可行的。我还想出了如何对按下的按钮做出反应的回发。此回发引用JavaScript文件。

在执行某些操作之前,我首先尝试读取给定的内容,并使用alert('first field: ' + field1)返回它们。在第一次调用的函数中,我有

代码语言:javascript
复制
function calledPostbackFunction(string button) {  
    var context = SP.ClientContext.get_current();  
    this.site = context.get_site();  
    this.web = context.get_web();  
    context.load(this.site);  
    context.load(this.web);  
    context.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceded(button), Function.createDelegate(this, this.onQueryFailed));

如何从列出的列类型中获取内容?我记得我能够读懂一行文本和选项,但其余的都崩溃了。所以我想我必须以任何方式转换它。但是怎么做呢?IntelliSense帮不了多少忙。

问题:如果您能告诉我如何doPostBack到一个可以使用客户端对象模型的.cs文件,我会跳过使用EcmaScript。我发现了一些东西,但不能工作/理解。

是的,我认为这会很容易,但事实并非如此。至少因为我只知道一点C#,不知道EcmaScript。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-26 20:10:25

好的,我从用户Vardhaman Deshpande那里得到了一个解决方案Sharepoint.Stackoverflow.com。这是可行的。

下面是如何获取每种类型字段的值:

代码语言:javascript
复制
Title – SP.ListItem.get_item(‘Title‘);

ID – SP.ListItem.get_id();

Url -SP.ListItem.get_item(‘urlfieldname‘).get_url()

Description – SP.ListItem.get_item(‘descriptionfieldname‘).get_description();

Current Version – SP.ListItem.get_item(“_UIVersionString“);

Lookup field – SP.ListItem.get_item(‘LookupFieldName’).get_lookupValue();

Choice Field – SP.ListItem.get_item(‘ChoiceFieldName‘);

Created Date – SP.ListItem.get_item(“Created“);

Modified Date – SP.ListItem.get_item(“Modified“); -> case sensitive does not work with ‘modified’

Created By – SP.ListItem.get_item(“Author“).get_lookupValue());

Modified by – SP.ListItem.get_item(“Editor“).get_lookupValue());

File  – SP.ListItem.get_file();

File Versions -  File.get_versions();.

Content Type – SP.ListItem.get_contentType();

Parent List – SP.ListItem.get_parentList();

来自:http://www.learningsharepoint.com/2011/07/06/how-to-get-various-item-fields-using-client-object-model-ecmascript-sharepoint-2010/

更新:以下代码正在运行并经过测试。

代码语言:javascript
复制
var item;
function getItemById(itemId){

    var clientContext = new SP.ClientContext.get_current();

    var web = clientContext.get_web();

    var list = web.get_lists().getByTitle('myList');

    item = list.getItemById(itemId);

    clientContext.load(item);

    clientContext.executeQueryAsync(onSuccess, onFailure);
}
function onSuccess(){

    alert(item.get_item("My User column").get_lookupValue());
}
function onFailure(){

    alert('Failure!');
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8892999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档