Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC中列出资源记录_C#_Asp.net Mvc - Fatal编程技术网

C# 在ASP.NET MVC中列出资源记录

C# 在ASP.NET MVC中列出资源记录,c#,asp.net-mvc,C#,Asp.net Mvc,我试图从表中的记录集中列出资源记录。我可以显示所有资源记录,但我需要的是它只显示传递给ActionResult的记录集的资源记录 为了澄清,我有一个记录集视图,其中有一个包含hostedzone中所有记录集的表,当有人单击它旁边的字段时,它会获取该记录集的名称,并将其作为值(字符串应答)传递给ResourceRecords控制器。然后使用它设置StartRecordName。之后,我将MaxItems设置为1。这基本上就是搜索功能。除非有多个资源记录集命名为同一事物,否则它不会列出它们的记录。它

我试图从表中的记录集中列出资源记录。我可以显示所有资源记录,但我需要的是它只显示传递给ActionResult的记录集的资源记录

为了澄清,我有一个记录集视图,其中有一个包含hostedzone中所有记录集的表,当有人单击它旁边的字段时,它会获取该记录集的名称,并将其作为值(字符串应答)传递给ResourceRecords控制器。然后使用它设置
StartRecordName
。之后,我将
MaxItems
设置为1。这基本上就是搜索功能。除非有多个资源记录集命名为同一事物,否则它不会列出它们的记录。它只接受第一个资源记录集记录

以下是控制器中的内容:

public ActionResult ResourceRecords(string answer)
{
            //create Route 53 Client using the credentials
            IAmazonRoute53 route53Client = new AmazonRoute53Client("AccessKey", "SecretKey", RegionEndpoint.USEast1);

            // This gives us an object of this type: https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Route53/TListResourceRecordSetsResponse.html
            var response = route53Client.ListResourceRecordSets(new ListResourceRecordSetsRequest
            {
                HostedZoneId = "HostedZoneId",
                StartRecordName = answer,//start with the record set from the value passed in ResourceRecordSets.cshtml
                
                MaxItems = "1"
            });

            //List for RecordSets and Resource Records
            List<String> recordSetQuery = new List<String>();
            List<String> resourceRecordQuery = new List<String>();

            foreach (var recordset in response.ResourceRecordSets)
            {
                //add the record set name to the List
                recordSetQuery.Add(recordset.Name);

                foreach (var resourceRecord in recordset.ResourceRecords)
                {
                    if (ModelState.IsValid && !String.IsNullOrWhiteSpace(answer))
                        if (recordSetQuery.Contains(answer))//find the value in the query(the resource record set List)
                        {
                            resourceRecordQuery.Add(resourceRecord.Value);                       
                        }
                }
            }

            ViewBag.Test = resourceRecordQuery;
        }

        return View();
}
公共操作结果资源记录(字符串应答)
{
//使用凭据创建路由53客户端
IAmazonRoute53 Route53客户端=新的AmazonRoute53客户端(“AccessKey”、“SecretKey”、RegionEndpoint.USEast1);
//这为我们提供了一个此类对象:https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Route53/TListResourceRecordSetsResponse.html
var response=route53Client.ListResourceRecordSets(新ListResourceRecordSetsRequest
{
HostedZoneId=“HostedZoneId”,
StartRecordName=answer,//从ResourceRecordSets.cshtml中传递的值中的记录集开始
MaxItems=“1”
});
//记录集和资源记录的列表
List recordSetQuery=new List();
List resourceRecordQuery=新建列表();
foreach(响应中的var记录集。ResourceRecordset)
{
//将记录集名称添加到列表中
recordSetQuery.Add(recordset.Name);
foreach(recordset.ResourceRecords中的var resourceRecord)
{
if(ModelState.IsValid&&!String.IsNullOrWhiteSpace(answer))
if(recordSetQuery.Contains(answer))//在查询(资源记录集列表)中查找值
{
resourceRecordQuery.Add(resourceRecord.Value);
}
}
}
ViewBag.Test=resourceRecordQuery;
}
返回视图();
}
下面是视图中的内容:

<table class="table table-striped table-bordered table-hover table-condensed">
    <td colspan="2">Resource Record</td>
    @foreach (var Records in ViewBag.Test)
    {
        <tr>
            <td>
                @Records
            </td>
            <td>
                <button>Edit</button>
            </td>
        </tr>
    }
</table>

资源记录
@foreach(ViewBag.Test中的var记录)
{
@记录
编辑
}

这是我第一次这样做,所以我还在学习,我可能会让它变得更难,所以任何帮助都会很好。如果我没有发布所需的一切,请让我知道,我会发布它。我不想在文章中大量使用不需要的代码。

您需要一个二维数组M x N,其中M是行数(一行是记录),N是列数。当您实际需要列表时,您只得到一行列表。