@(Html.ShieldGrid()
.Name("grid")
.DataSource(ds => ds.Remote(rb => rb.Read("/Tours/getVouchers/94")
.Schema(sb => sb
.Fields("TourItineraryVoucherId", fb => fb.Path("TourItineraryVoucherId").Type(Shield.Mvc.UI.DataSource.FieldType.Number))
.Fields("Name", fb => fb.Path("Name").Type(Shield.Mvc.UI.DataSource.FieldType.String))
.Fields("StartTime", fb => fb.Path("StartTime").Type(Shield.Mvc.UI.DataSource.FieldType.Date))
.Fields("EndTime", fb => fb.Path("EndTime").Type(Shield.Mvc.UI.DataSource.FieldType.Date))
.Fields("TransportType", fb => fb.Path("TransportType").Type(Shield.Mvc.UI.DataSource.FieldType.String))))
.PagingConfiguration(pb => pb.PageSize(30))
.RowHover(false)
.Columns(cb => cb
.Field("Name")
.Title("Name"))
.Columns(cb => cb
.Field("StartTime")
.Title("Pickup")
.Format("{0:dd/MM/yyyy h:MM tt}")
.ColumnTemplate(@<text>function columnTemplate(cell, item) { $('<input />').appendTo(cell).shieldDateTimePicker({value: new Date(item["StartTime"]), format: "{0:dd/MM/yyyy h:MM tt"}); }</text>))
.Columns(cb => cb
.Field("EndTime")
.Title("Dropoff")
.Format("{0:dd/MM/yyyy h:MM tt}"))
.Columns(cb => cb
.Field("TransportType")
.Title("Type")
.Width(70))
.Columns(cb => cb
.Width(150)
.Title(" ")
.Buttons(b => b.CommandName("edit").Caption("Edit"))
.Buttons(b => b.CommandName("delete").Caption("Delete")))
.Editing(eb => eb
.Enabled(true)
.Type(Shield.Mvc.UI.Grid.EditingTypeOptions.Row)
.Confirmation(c => c
.Delete(d => d
.Enabled(true)
.Template(@<text>
function (item) {
return "Delete Voucher - '" + item.Name + "'?";
}
</text>))))
.ToolBar(tb => tb
.Buttons(b => b.CommandName("insert").Caption("Add Product"))
.Position(Shield.Mvc.UI.Grid.PositionOptions.Top))
)
我知道0600与权限有关,但它究竟是如何工作的?
答案 0 :(得分:2)
使用O_CREAT标志时,您需要使用open
的3个参数版本:
int open(const char * pathname,int flags);
int open(const char * pathname,int flags,mode_t mode);
mode参数指定在应用时应用的文件模式位 创建一个新文件。必须在以下时提供此参数 O_CREAT或O_TMPFILE在flags中指定;如果不是O_CREAT 指定了O_TMPFILE,然后忽略模式。
请改为尝试:
int fd = open("float.txt", O_CREAT | O_WRONLY, S_IRUSR|S_IWUSR);