내 DeatilView 컨트롤에 InsertItemTemplate이 정의되어 있습니다. 이 템플릿에는 사용자가 채우는 여러 필드와 자동으로 채워지는 여러 필드가있어 사용자가 변경할 수 없습니다. 이 값은 세션에 저장된 객체에서 가져옵니다.
코드는 다음과 같습니다 실제로 데이터베이스에 값을 삽입하기 위해 필요로하는 곳에 (당신은 더 아무것도 필요 알려 경우 난 단지, 필요한 부분을 언급)ASP.NET DetailView InsertItemTemplate
<asp:DetailView ... DataSourceID="MyDataSource" ...>
<Fields>
...
<InsertItemTemplate>
// These are the fields filled by the system
<asp:Label ... Text='<%# some value from session object %>' />
<asp:Label ... Text='<%# some value from session object %>' />
// some textboxes here that user fills,
//they use Bind("some data source value here") to send their data to database
...
</InsertItemTemplate>
...
</Fields>
</asp:DetailView>
하는 것은 이제 문제입니다.
텍스트 상자 값은 올바르게 전송되지만 레이블 값을 바인딩하지 않았으므로 DataSource로 전송되지 않습니다. 그래서 어떻게해야 하는가?
- 은 내가 찾은 대안은 데이터 집합의 각각 InsertParameter에의 DefaultValue을 통과했지만, 난 은이 세션에서 값의 수에 그 지역을 기입하는 방법을 모르겠어요.
- 또 다른 대안은 Session에서 직접 가져온 매개 변수의 값 (기본값이 아님) 을 설정하는 것입니다.이 방법은 가능한 한 값을 Session 내에서 지원하며, 값을 전달합니다. Session에 저장된 객체. 세션 에 값을 직접 저장하는 것 외에 해결 방법이 있습니까?
유형별로 DataSourceMode를 의미하는 경우 아무 것도 지정하지 않았습니다. 기본적으로 DataSet 모드라고 생각합니다. – atoMerz
아니요, SqlDataSource, ObjecDataSource, LinqDataSource 등을 말합니다. – boades
또는 코드 숨김에서 deatails 뷰의 DataSource 객체를 설정 하시겠습니까? – boades