小编Dan*_*ana的帖子

GridView中的多个DataKeyNames

我有一个从ObjectDataSource填充的GridView,其DataKeyNames字段中有两个项目.一个是主键,ID,另一个是类别字段(类别字段用于添加标题行以描述类别).

显示工作正常,但我正在尝试创建删除操作.对象的delete方法只需要ID字段和ObjectDataSource,即使我将方法定义为只需要一个ID字段,.net也会抱怨,因为它正在寻找一个同时具有DataKeyNames中定义的字段的方法.

如果我将类别的参数添加到delete方法,它可以工作,但是定义一个不用于任何东西的参数很烦人.

我可以将ObjectDataSource和GridView对象配置为具有DataKeyNames的两个值,但具体应该传递给哪些方法?

这两个对象的(简化)定义是:

<asp:ObjectDataSource ID="ObjDS1" runat="server" SelectMethod="getAllItems" 
    TypeName="Items" DeleteMethod="deleteItem">
    <DeleteParameters>
        <asp:Parameter Name="ID" Type="Int32" />
       <!-- This shouldn't be necessary: -->
        <asp:Parameter Name="Category" Type="String" />
    </DeleteParameters>
</asp:ObjectDataSource>

<asp:GridView ID="gvJItems" runat="server" AutoGenerateColumns="False" DataKeyNames="ID,Category" 
    DataSourceID="ObjDS1">
        <Columns>
            <asp:BoundField DataField="ID" Visible="false"  HeaderText="ID" />
            <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="85%"/>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lbDelete" Runat="server" 
                        OnClientClick="return confirm('Are you sure you want to delete this?');"
                            CommandName="Delete">Delete</asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

asp.net gridview

7
推荐指数
1
解决办法
4万
查看次数

使用Microsoft .NET框架编写的程序是否编译/执行本机代码?

新问题:

使用Microsoft .NET框架编写的程序是否编译/执行本机代码?

我不是说如果有办法不在机器上安装.net框架.简单地说:.net应用程序是否运行在另一层,如Java(即字节码).

.net native

7
推荐指数
3
解决办法
1424
查看次数

是否值得学习Ruby On Rails

Ruby On Rails是一个不断发展的框架,还是会在未来几年内消亡?现在是否值得将项目投入使用?

ruby-on-rails

7
推荐指数
2
解决办法
7372
查看次数

来自K&R C的示例中的指针类型不匹配警告

可能重复:
编译K&R示例时出现问题

最近,我一直在通过K&R的C编程语言.

在5.11节中,它们包含指向函数的指针,并在输入它们的示例后 - 一个quicksort实现,我们提供了一个指向我们想要使用的比较函数的指针 - 我从编译器收到警告:条件表达式中的指针类型不匹配.(我的编译器是OS X 10.5.6上的gcc 4.0.1)

触发警告的示例中的行是:

 qsort((void **) lineptr, 0, nlines-1,
      (int (*)(void*, void*))(numeric ? numcmp : strcmp));
Run Code Online (Sandbox Code Playgroud)

该程序在没有segfaulting的情况下执行,但我喜欢尽可能地发出警告,或者至少了解它们的原因.

numcmp的函数声明如下:

 int numcmp(char *, char *);
Run Code Online (Sandbox Code Playgroud)

但根据联机帮助页,stcmp有这个签名:

 int strcmp(const char *s1, const char *s2);
Run Code Online (Sandbox Code Playgroud)

由于方法签名略有不同,警告是否简单?忽视警告会有什么后果?

c kernighan-and-ritchie

7
推荐指数
2
解决办法
2492
查看次数

最佳实践:.NET:如何针对oracle数据库返回PK?

使用SQLServer,似乎普遍接受的是,在插入的末尾添加SELECT SCOPE_IDENTITY()是返回新插入记录的PK的最佳方法,假设您正在为pk使用自动增量字段.

但是,我似乎无法找到Oracle的等价物.

最佳实践似乎是使用序列来生成PK,但是如何实现甚至可以有不同的选项.您是否将其留给开发人员插入sequence.nexval,或使用触发器?

在任何一种情况下,获取新ID似乎是一个常见问题.

我遇到的建议和解决方案包括:

  • 创建一个返回PK的存储过程
  • 从seq.nextval运行select id,然后将其传递给insert
  • 插入后选择max(id)(注意:不要这样做!)
  • 在插入中添加RETURNING子句

对于这种情况,"最佳实践"解决方案应该是什么?

.net oracle

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

获取新条目的主键

我有许多子表具有父表的外键.

如何在父表中添加一个条目并获取该条目的主键,以便我可以在子表中输入指向父表中条目的行?

我在C#应用程序的MS Access数据库中执行此操作.

.net c# database ms-access primary-key

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

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

在不使用自引用的情况下设置Objective-C类属性

今天早上我遇到了我正在处理的iPhone应用程序崩溃,当我修复了这个bug时,我很好奇语法原因这是一个问题.

这是我的代码简化为简单元素.我使用NSArray为项目填充TableView中的项目.NSArray是一个属性:

@interface FooViewController : UITableViewController {
    NSArray *stuff;
}

@property (nonatomic, retain) NSArray *stuff;
Run Code Online (Sandbox Code Playgroud)

在我的实现文件中:

@synthesize stuff;

- (void)viewDidLoad {     
    NSArray *arr = [[NSArray alloc] initWithObjects:@"", @"Item 1", @"Item 2",   
                                       @"Lorem", @"Ipsum", nil];
    self.stuff = arr;

    [arr release];
}
Run Code Online (Sandbox Code Playgroud)

现在,当我第一次写这个方法的时候,我不小心把它留下了"自我".这导致了炸弹.虽然在测试时,它一见钟情.我试过了:

stuff = arr;
NSLog(@"%d", [stuff count]);
Run Code Online (Sandbox Code Playgroud)

但在其他方法中使用的东西遭到轰炸.现在我已经解决了问题,我可以在其他地方使用[stuff count].

那么为什么我可以在某些地方使用东西,但在其他地方我必须使用self.stuff

objective-c iphone-sdk-3.0

6
推荐指数
2
解决办法
3870
查看次数

Sharepoint WebParts

假设您有几个webpart,一个作为控制器,另外几个从控制器获取信息并对其进行操作.使用ASP 2.0中引入的Consumer/Producer接口进行建模非常容易.

你怎么能在保持上述情况的同时增加互动?

一个简单的例子是:用户将信息输入到执行搜索的webpart A中,结果将显示在webpart B上.Webpart C允许您过滤应该触发webpart A重新提交查询的结果,从而更新结果是B.

在WSS 3.0中似乎不可能这样做,因为在任何时候只允许在所有连接中使用1个接口.

这甚至有意义吗?:-)

sharepoint web-parts webpart-connection

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

VB.NET缺少isNull()?

我想确认数组是否已创建,如何才能完成?没有nul关键字?

Dim items As Array = str.Split("|")
if (items=null)  then ???
Run Code Online (Sandbox Code Playgroud)

vb.net

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