gpt4 book ai didi

c# - 如何将对象时间戳与对象 ID 连接起来并将它们传递给操作方法

转载 作者:行者123 更新时间:2023-11-30 16:58:38 25 4
gpt4 key购买 nike

我的 asp.net mvc View 中有以下代码:-

@foreach (var item in Model)
{<tr><td>

<input type="checkbox" class="checkBoxClass" name="CheckBoxSelection"
value="@item.TMSServerID.ToString()"/> </td>

这将呈现一个以 objectid 作为其值的复选框。我编写了以下脚本,它将收集所选对象的所有 ID:-

var boxData = [];

$("input[name='CheckBoxSelection']:checked").each(function () {
boxData.push($(this).val());
});

}

$.ajax({
type: "POST",
url: URL,
data: { ids: boxData.join(",")}
//code goes here

接受 id 的 action 方法如下所示;-

public ActionResult TransferSelectedServers(string ids)
if (ModelState.IsValid)
{
try
{
var serverIDs = ids.Split(',');

现在我想要实现的是我希望复选框包含一个字符串,该字符串连接 objectid+timestamp。目前对象id是int类型,时间戳是byte[]类型。

但是我有以下两个问题:-

1.我如何将时间戳转换为字符串并将其与 id 连接起来,例如:-

@foreach (var item in Model)
{<tr><td>

<input type="checkbox" class="checkBoxClass" name="CheckBoxSelection"
value="@item.TMSServerID.ToString()"+ "@item.timestamp.ToString()"/> </td>

2.在我的操作方法中,如何在拆分字符串后将表示时间戳的字符串再次转换为 byte[]?

问候

最佳答案

1) 您用于连接字符串的代码很接近,但您需要在其中添加某种定界符以找出一个值在何处停止而另一个值在何处开始。如果 ID 是 int,则可以使用任何非 int 字符作为分隔符。像这样的东西:

value="@string.Format("{0},{1}", item.TMSServerID, item.timestamp)"

...这把我们带到

2) 以上不会给你你想要的,因为 byte[].ToString() 只会给你“System.Byte[]”。为什么时间戳是byte[]?那是什么格式?那是来自SQL吗?我的建议是,如果可以的话,将该 byte[] 转换为 DateTime,以便更容易使用。

一旦它是DateTime,您就可以在串联中使用item.timestamp.Ticks。然后,您的 AJAX 处理程序就可以轻松完成此操作:

string[] parts = ids.Split(',');
int id = int.Parse(parts[0]);
DateTime timestamp = new DateTime(long.Parse(parts[1]));

关于c# - 如何将对象时间戳与对象 ID 连接起来并将它们传递给操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25017904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com