DetailsView updates unused properties to null

N

Nick Bennett

I've got a page with a DetailsView. It uses a SqlDataSource which itself
uses stored procedures for Select and Update.

I don't want the user to see some of the columns, but if I don't bind them
(or if I do bind them but set Visible=False), when the Update procedure is
called, the parameters corresponding to the columns that weren't bound to
the DetailsView are all null.

This can't be an uncommon scenario, so I guess I have missed something. Any
ideas?
 
M

Milosz Skalecki [MCAD]

Howdy,

Take a look at BoundField's InsertVisible property as well as SqlDataSource
Updating/Inserting events.

Regards
 
A

Angel

Using BoundField might help but keep in mind that things get really ugly when
you mix Declarative stuff and code. My suggestion to you is go completely
code replace the sqldatasource with a dataset or datatable and user the
datasource property instead.

Where it get tricky is if you have dropdowns or any other template based
field it can get a little hard to do but is doable I have a demo depicting a
dynamic situation
similar to the one you are describing. Mine involves a detailsview and
Gridview in a master/details relationship. One page hitting multiple table
and columns are defined at runtime.

If you are interested let me know and I will be glad to share this with you.
 
P

Paul Shapiro

You could use a stored procedure which did not include parameters for the
columns you don't want updated.

An asp:Boundfield has a ConvertEmptyStringToNull property. Have you tried
setting that to false?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top