2009-07-30 45 views
5

Vì vậy, tôi đã gặp sự cố mà ai đó có thể đã giải quyết (hoặc vì vậy tôi hy vọng). Tôi có một lĩnh vực datetime mà tôi sử dụng trong một contenttype (trên một listtemplate) có chỉnh sửa của riêng mình.Đặt giá trị của trường ngày giờ thành null

Here's một hướng về những gì sẽ xảy ra:

  1. Thêm một giá trị cho cột datetime và tiết kiệm giá trị được cập nhật xuất hiện (như mong đợi).
  2. Cập nhật cột ngày giờ và thêm null (làm trống giá trị) thông qua biểu mẫu chỉnh sửa. Giá trị không được cập nhật mà thay vào đó hiển thị giá trị cũ.

Tôi đã làm một số thử nghiệm với điều này và tôi đi đến kết luận rằng nếu tôi thêm một người nhận sự kiện và cố gắng cập nhật giá trị ở đó nó thậm chí không nhập eventreceiver như một chuỗi trống (tôi đã có ý tưởng rằng giá trị là một chuỗi trống và sharepoint không thể phân tích cú pháp đó thành một datetime rỗng) dẫn tôi nghĩ rằng có một vấn đề với fieldcontrol gây ra điều này. Tôi cũng tìm thấy this bài viết trên MSDN mà có vẻ là xung quanh cùng một vấn đề. Và cũng có thể, trường datetime trong contenttype là không cần thiết.

Bất kỳ ý tưởng hoặc đề xuất nào?

UPDATE:

Rõ ràng đây chỉ xảy ra khi tôi sử dụng một editform tùy chỉnh. Khi tôi sử dụng một trong listtemplates được xây dựng trong này hoạt động như một say mê.

Trả lời

0

Sau một số quá trình đầu tư sâu, tôi đã thấy rằng thư mục gốc của vấn đề này liên quan đến thực tế là tôi đang sử dụng sự truyền bá nút XML giữa các cột trong danh sách và tệp xml thực tế. Tôi đã có prevoiusly đang đấu tranh với điều này liên quan đến lĩnh vực văn bản tiêu chuẩn và nghĩ rằng tôi đã chăm sóc của vấn đề ..apparently không. Các trường DateTime dường như sẽ không được gửi đến các phần tử hậu mãi của sự kiện nếu nó là null vì vậy mã của tôi sẽ không nhận nó như một giá trị null. Tôi đã phải đưa trường hợp đó và thêm chúng vào các sản phẩm sau nếu tôi không thể tìm thấy chúng trong các sản phẩm sau. Tôi sẽ tạo một loạt bài đăng trên blog về các vấn đề này và đăng các liên kết tới bài đăng này ngay.

UPDATE:

bây giờ tôi đã hoàn thành một bài đăng trên blog về cách tôi giải quyết vấn đề này. Vui lòng khám phá: http://johanleino.wordpress.com/2009/08/24/node-demotion-does-not-work-with-blank-empty-values/

1

Tôi đã gặp sự cố tương tự với điều này trong quá khứ. Nó thực sự là một lỗi đã biết. Một công việc xung quanh là đặt trường thành giá trị tối thiểu hoặc tối đa của loại và kiểm tra giá trị này bất cứ khi nào cần và thực hiện chuyển đổi thích hợp. Tùy thuộc vào thiết lập và sử dụng của bạn, bạn có thể tạo trình kích hoạt để chuyển đổi giá trị tối thiểu/tối đa thành giá trị rỗng và do đó, giảm thiểu mã cần thiết để xử lý công việc xung quanh.

Các vấn đề liên quan